我在我使用的 eclipse 资源文件夹中有一个图像,问题是我不知道如何包含它,绝对路径很长并且 getResource 返回一个空指针。我搜索了 google 和 SO 并尝试了通常的解决方案无济于事。资源文件夹在我的构建路径中,我运行代码的类在构建路径中,但以下两个都返回 null。
System.out.println(getClass().getResource("data.txt"));
System.out.println(getClass().getResource("/resources/data.txt"));
现在尝试:
System.out.println(getClass().getResource("001.txt"));
仍然返回 null。
System.out.println(getClass().getResource("/001.txt"));
也为空。
右键单击文件并找到其相对于工作空间的路径(右键单击文件、属性、路径)
System.out.println(getClass().getResource("/ovinger/resources/sokoban_levels/001.txt"));
也为空
这是工作区和资源文件夹的图像。代码正在从“TestSokoban.java”运行 我什至担心eclipse没有搜索我桌面的权限,以管理员身份运行,仍然是同样的问题。
最佳答案
没有什么比通过运行 System.out.println(getClass().getResource(".")));
找出相对路径的根目录更容易的了。然后修改路径以正确适应相对路径。它应该是类所在的包,顺便说一句。
关于Java资源,返回空指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15077618/