如何在eclipse项目中获取文件的路径?

时间:2014-07-08 17:20:52

标签: java eclipse

我的日食项目:

MyJavaProject
|
|___src/main/java
|     |
|     |___myPackage
|           |
|           |___myJava.java
| 
|___myFolder
|     |
|     |___myFile.txt
|
.
.
.

要从myJava代码中读取myFile.txt,我使用了路径/MyJavaProject/myFolder/myFile.txt。此路径始终为我提供文件未找到的异常。这里有什么错误?

3 个答案:

答案 0 :(得分:0)

通常在eclipse中启动Main类时,它会将当前目录设置为项目的根目录

你可以通过

查看
System.out.println(System.getProperty("user.dir"))

因此您需要从项目的根目录开始的相对路径

答案 1 :(得分:0)

你可以这样读:

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("myFolder/myFile.txt")));
    while(true)
            {
                String line = br.readLine();
                if(line == null)
                    break;
                else
                {
                    System.out.println(line);   
                }

            }

答案 2 :(得分:-1)

在Eclipse中,src/main/java/中的所有java文件都被编译并复制到输出文件夹/bin or /target/classes,因此当执行myJava.java时,java类的工作目录为“bin / “或/target/classes。从这些目录中,它将无法访问您的文件/MyJavaProject/myFolder/myFile.txt。您的选择如下:

  • 根据您的输出文件夹使用相对路径,新文件(../myFolder/myFile.txt)或../../myFolder/myFile.txt
  • myFolder添加为src/main/java的子文件夹,然后eclipse会将这些资源复制到您的/bin/target/classes输出文件夹中,然后您可以使用相对路径myFolder/myFile.txt
  • 如果你的项目是maven项目(安装m2e插件),那么你可以使用src/main/resources/文件夹,然后eclipse会以相同的方式将这些资源复制到你的输出文件夹。