我正在尝试在eclipse中读取文件并将其打印出来。问题是编译器总是告诉我文件或目录不存在。我必须使用相对路径。
项目路线的相关部分是:
这是代码:
String total="";
File actual = new File("src/EnumSetPlus.java");
FileReader filereader = null;
try {
filereader = new FileReader(actual);
}
catch (FileNotFoundException e) {
// TODO Auto-generated catch block e.printStackTrace();
}
BufferedReader input = new BufferedReader(filereader);
try {
while ((line = input.readLine()) != null)
{
total += line + "\n";
}
input.close();
}
catch (IOException e) {
// TODO Auto-generated catch block e.printStackTrace();
}
System.out.println(total);
我认为问题是如果我想要de eclipse项目识别的文件路径,我必须做点什么。
你能帮帮我吗?
事先知道。答案 0 :(得分:3)
我使用getClass().getResourceAsStream("/EnumSetPlus.txt")
- 这将在类路径的根目录(bin/
上查找文件,但是来自src的所有文件都转到bin)。然后,您可以通过InputStream
Redaer
new InputStreamReader(stream, encoding)
答案 1 :(得分:1)
在Eclipse中,默认情况下当前工作目录为src
。
试试这个
File actual = new File("EnumSetPlus.txt");
我也会研究凯文的答案。 : - )
答案 2 :(得分:1)
尝试:
String filePath = "/EnumSetPlus.java";
File actual = new File(ClassLoader.getSystemResource(filePath).getFile());
答案 3 :(得分:0)
您的示例说您要读取名为 EnumSetPlus.java 的文件,但源代码正在查找名为 EnumSetPlus.txt 的文件。