6

我目前有一个 Java 项目,在 Eclipse 中设置了以下目录结构:

在此处输入图像描述

在我的代码中,我有以下几行:

InputStream is = this.getClass().getClassLoader().getResourceAsStream("resources/config");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(is));

但是,InputStream is总是将其分配为 null,这会在到达第二行时导致崩溃。我知道这与我如何设置它正在寻找的路径有关,但我无法弄清楚它为什么不起作用。

4

2 回答 2

9

您的config文件在您的项目中,位于文件系统的某个位置。

然而,Eclipse 并没有将它放在类路径中。要强制它位于类路径上,请右键单击您的文件夹并将其添加为源文件夹。然后 Eclipse 会将它添加到类路径的根目录中。你可以用

InputStream is = this.getClass().getResourceAsStream("/config");

Eclipse 将所有内容放在resources源文件夹中,从类路径的根目录开始。所以

resources/config

将出现在类路径中

/config
/qbooksprintfix/FileChecker
/qbooksprintfxi/FilePurgeHandler
/...
于 2013-08-22T17:01:36.183 回答
0

试试白InputStream is = this.getClass().getClassLoader().getResource("/resources/config").openStream();

或者InputStream is = this.getClass().getClassLoader().getResourceAsStream("/resources/config");

在这两种情况下,请确保将“/”放在“资源”之前

于 2013-08-22T17:01:51.197 回答