我当前在 eclipse 中的设置是这样的:
主干
--working/src
--resources
我在 working/src 下的包中有一个 java 文件,我正在尝试检索资源中的文件。我使用的路径是“../resources/file.txt”。但是我收到一条错误消息,指出该文件不存在。
任何帮助将不胜感激谢谢!
我当前在 eclipse 中的设置是这样的:
主干
--working/src
--resources
我在 working/src 下的包中有一个 java 文件,我正在尝试检索资源中的文件。我使用的路径是“../resources/file.txt”。但是我收到一条错误消息,指出该文件不存在。
任何帮助将不胜感激谢谢!
考虑你的结构
我有包裹喜欢
树干
以下代码可能会解决您的问题
package working.src;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
public class FileRead {
public FileRead() {
URL url = getClass().getResource("/resources/name list.txt");
try {
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String nameList;
while ((nameList = in.readLine()) != null) {
System.out.println(nameList);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new FileRead();
}
}
这取决于您如何在 Eclipse 中指定 Java 构建路径。我已经测试了两种不同结果的设置:
working/src
为构建路径。您可以通过以下方式获取构建路径中的信息:Select project > Properties > Java Build Path > Tab Source
. 列出了所有源文件夹。您会在那里看到定义了一个默认输出文件夹。构建路径中包含的所有资源都将复制到默认输出文件夹,然后可供那里的 eclipse 类使用。如果资源被复制到那里,您可以在 bin 文件夹的资源透视图中检查。在此设置中,仅生成类,不复制资源(因此未找到)。working/src
并resources
作为构建路径。然后资源被复制,然后可以通过路径“file.txt”找到所以 eclipse 包含了一个简单的构建过程,并且对开发人员隐藏了它,但它仍然是一个构建过程。
文件将相对于您的项目路径进行引用,因此请使用“resources/file.txt”来引用该文件。
但是,如果您希望在将程序导出为 JAR 时可以访问该文件,则路径“resources/file.txt”必须相对于您的 JAR 存在。