之前看很多视频,发现他们直接写
类名.class.getResource("某个文件名");
就可以直接获取到URL,但是我有时候却会报空指针异常。
后边发现了一个解决方案:
那就是你直接将啥都不写的路径输出出来,再根据自己的需求在后边补充,问题就解决啦
System.out.println(类名.class.getResource(""));
比如说你输出的内容是:
file:/D:/IDEA/Workspace/Private/out/production/GuiPractice/edu/jmu/liangjie/lesson4/
而你想要的内容是lesson4下的imageIcon.png,那就直接按下边写就可以解决啦!
URL url = ImageIconDemo1.class.getResource("imageIcon.png");
而如果你通过输出的路径并没有找到你刚刚复制进去的文件,那么就是因为有时候我们往IDEA里复制文件,但是根据打印出来的路径我们可以发现路径下的文件夹,那份刚拷贝过来的文件还没有被复制进去。
这个时候我们可以点击菜单栏的 Build - Rebuild Project 去重构项目,再去看输出的路径,文件就已经存在了,这样也就解决了空指针的问题了
区分相对路径和绝对路径
直接写文件名是代表相对路径,而使用/则是代表绝对路径,/相当于当前项目