我目前在eclipse中的设置是这样的:
躯干
- 工作/ src目录
--resources
我在work / src下的包里面有一个java文件,我试图在资源中检索一个文件。我使用的路径是“../resources/file.txt”。但是我收到一条错误消息,说该文件不存在。
任何帮助将不胜感激!
答案 0 :(得分:2)
考虑您的结构
我有像
这样的包躯干
以下代码可能会解决您的问题
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();
}
}
答案 1 :(得分:0)
将相对于您的项目路径引用文件,因此请使用“resources / file.txt”来引用该文件。
但是,如果您希望在将程序导出为JAR时可以访问该文件,则必须存在相对于JAR的路径“resources / file.txt”。
答案 2 :(得分:0)
这取决于您在eclipse中如何指定Java Build Path。我测试了两种不同结果的设置:
working/src
定义为构建路径。您可以通过以下方式获取构建路径中的信息:Select project > Properties > Java Build Path > Tab Source
。列出了所有源文件夹。你看到有一个默认的输出文件夹定义。构建路径中包含的所有资源都将复制到默认输出文件夹,然后可用于那里的eclipse类。如果资源在那里复制,您可以在bin文件夹的资源透视图中检查它。在此设置中,仅生成类,不复制资源(因此未找到)。working/src
和resources
定义为构建路径。然后复制资源,然后通过路径“file.txt”所以eclipse有一个简单的构建过程,并且隐藏了开发人员的内容,但它仍然是一个构建过程。