getResource上的空指针异常

时间:2017-12-15 13:51:34

标签: java class java.util.scanner

我是新手,所以如果这是一个愚蠢的问题,我很抱歉。但是,我需要你的帮助。我在ecplise中有以下目录:Directory Hierarchy 当然有一个包含所有这些文件的目录。
我试图使用get class.getResource来访问一个名为“data.txt”的文件:

scanObj = new Scanner(new File(this.getClass().getResource("resources/data.txt").toExternalForm()));

但我得到一个空指针异常为什么会这样? 非常感谢! 任何帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

的第一个打印值
this.getClass().getResource("resources/data.txt")

到控制台。如果它打印为null,那么这就是问题的原因。 如果您引用的文件不在类路径上,则通常会发生这种情况。 搜索有关如何在eclipse中将文件添加到类路径的帖子。

答案 1 :(得分:0)

因为查找是相对于应用程序的工作文件夹的。检查该文件夹是什么(应该在Eclipse中的类的运行配置中),并构建相对于该位置的路径。

或者,使用ClassLoader.getSystemClassLoader().getResourceAsStream("data.txt")(这将为您InputStream