Java资源,返回空指针

标签 java resources

我在我使用的 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”运行 Buildpath Workspace 我什至担心eclipse没有搜索我桌面的权限,以管理员身份运行,仍然是同样的问题。

最佳答案

没有什么比通过运行 System.out.println(getClass().getResource("."))); 找出相对路径的根目录更容易的了。然后修改路径以正确适应相对路径。它应该是类所在的包,顺便说一句。

关于Java资源,返回空指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15077618/

相关文章:

android - 构建工作空间需要一生

c# - GetLocalResource 对象的问题

java - 如何使用 Wiremock 在一个 json 文件中为同一 url 实现多 stub ?

java - java中一种产品的库存只减少?

java - Streams 可以通过返回的方法关闭吗?

performance - 字符串文字的 ResourceString VS Const

android - 如何在布局上使用资源限定符来区分 HTC Desire 和 Samsung Galaxy Nexus 等智能手机

java - 两个字符串之间的子串差异

java - 从php页面解析数据到android

java - Liferay:如何使enctype ="multipart/form-data"和方法="post"一起工作?