我有一个Java编程问题,需要帮助!
我的班级文件放在单独的程序包中(不是默认程序包)。我正在尝试从res文件夹访问文件。我已经将其添加为类文件夹(使用属性->库->添加类文件夹)在我的类中,我具有以下代码:
InputStream IS = getClass().getResourceAsStream("mytextfile.txt");
但是它不起作用,我拥有所有适当的导入和所有内容,但是我无法使其正常工作...(当我尝试使用IS时,给出了空指针异常)
我认为这与使用单独的程序包有关,因为我还有另一个使用默认程序包的程序,它可以正常工作...
我想要一种在我使用Eclipse以及将其导出为.jar时都可以访问该文件的方法。
在此先感谢您的帮助!
编辑:我曾尝试使用/res/mytextfile.txt,但这也不起作用...
getClass().getResource
会相对于该类存在的位置查找命名的资源。
因此,如果该类存在于包中foo.bar
,getResource
则将查找foo/bar/mytextfile.txt
(作为类的前缀,classloader的类路径上下文...)
相反,请尝试使用相对路径,例如
InputStream IS = getClass().getResourceAsStream("/mytextfile.txt");
或者
InputStream IS = getClass().getResourceAsStream("/res/mytextfile.txt");
假设资源目录被调用res
并存在于默认包下
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句