我有一个 Java 编程问题,我需要一些帮助!
我的类文件在一个单独的包中(不是默认包)。我正在尝试访问我的 res 文件夹中的文件。我已将其添加为类文件夹(使用属性 --> 库 --> 添加类文件夹)在我的类中,我有以下代码:
InputStream IS = getClass().getResourceAsStream("mytextfile.txt");
但是它不起作用,我有所有正确的导入和一切,但我就是无法让它工作......(当我尝试使用 IS 时给出空指针异常)
我认为它与使用单独的包有关,因为我有另一个使用默认包的程序并且它工作正常......
我想要一种既可以在使用 Eclipse 时也可以在将文件导出为 .jar 时访问该文件的方法。
预先感谢您的帮助!
编辑:我试过使用/res/mytextfile.txt 但这也不起作用...
最佳答案
getClass().getResource
将查找相对于类所在位置的命名资源。
因此,如果该类存在于包 foo.bar
中,getResource
将在 foo/bar/mytextfile.txt
中查找(前缀为类,类加载器的类路径上下文...)
相反,尝试使用相对路径,例如
InputStream IS = getClass().getResourceAsStream("/mytextfile.txt");
或
InputStream IS = getClass().getResourceAsStream("/res/mytextfile.txt");
假设资源目录名为res
,存在于默认包下
关于java - 无法访问 res 文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19107669/