java - 无法访问 res 文件夹?

标签 java eclipse file inputstream

我有一个 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/

相关文章:

C fwrite 错误处理

java - Android RenderScript FinalizerWatchdogDaemon 致命异常

java - 如何获取 SVN 存储库的 "realm"值?

c++ - Eclipse CDT 内置包含目录

java - 如何在特定文本字段中设置主键?

不使用 fopen() 计算文件中的字符数

javascript - 如何在另一个 JavaScript 文件中包含一个 JavaScript 文件?

java - y=2^(-0.5)x 从 0 到 1 boolean 值的积分的蒙特卡洛近似无法正常工作

Java 进程将自身发送到后台

java - Eclipse在Android上导入MoPub SDK报错