java - 如何在 Eclipse 中使用相对路径读取和打印文件?

标签 java eclipse file relative-path

我正在尝试在 Eclipse 中读取文件并打印它。问题是编译器总是告诉我该文件或目录不存在。我必须使用相对路径。

项目路线的相关部分是:

  • uva.pfc.refactoringEngine.core <--项目
    • ...
    • 源代码
      • uva.pfc.refactoringengine.core.actions <-- 实际包
        • ...
        • CreateEnumSetPlusClas.java <--来 self 想读取 EnumSetPlus.java 文件的文件
      • ...
      • EnumSetPlus.java <-- 我想要读取和打印的文件

这是代码:

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 项目识别文件路径,我必须做一些事情。

你能帮我吗?

预先致谢。

最佳答案

我会使用 getClass().getResourceAsStream("/EnumSetPlus.txt") - 这将查找类路径根目录上的文件(即 bin/,但 src 中的所有文件都会转到 bin)。然后,您将获得一个InputStream,您可以通过new InputStreamReader(stream,encoding)

将其适应Redaer

关于java - 如何在 Eclipse 中使用相对路径读取和打印文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7310730/

相关文章:

java - BufferedReader/BufferedWriter 逐行输出

python - Eclipse 控制台中的 Pydev 源文件超链接

c++ - C++ “Using Uninitialized Memory.. (variable name) ”

file - 在 Azure 中创建和提供临时 HTML 文件

java - 确定从 java 到 Outlook.exe 的路径?

java - SSH 连接 Java

Java在Eclipse中自动生成: generating .类文件

java - Spring Petclinic 项目的 Maven 编译出错

php - 使用 php cURL 从文件头获取文件名

java.net.SocketException : Too many open files 异常