【发布时间】:2014-06-17 11:43:08
【问题描述】:
我尝试使用相对路径打开一个文件,我的文件位于项目的根文件夹中。
BufferedReader reader = new BufferedReader(new FileReader("text.h"));
那没用。
所以我打印了工作目录,但这会将我引导到安装 eclipse 的目录。
System.out.println(new File(".").getAbsolutePath());
我的项目结构:
Project
--bin
--core
text.h
--src
text.h
--com
--home
--core
Main.java
text.h
--editor
--ui
text.h
我已将文本文件复制到不同位置,在我的项目目录中,我尝试了不同的路径,但都没有奏效。
如果我将文件复制到安装 Eclipse 的目录中,那么我可以使用以下路径读取文件。
BufferedReader reader = new BufferedReader(new FileReader("text.h"));
如何从项目的根文件夹中读取文件?
【问题讨论】:
-
使用“/”可以访问根文件夹。向我们展示您的项目结构。
-
System.getProperty("user.dir") 可以显示您当前的工作目录。如果该路径低于您的工作目录,那么您可能需要将一些 ../.. 附加到 File 构造函数 arg
-
如果您不想使用绝对路径,您可以在 Eclipse 工作区中添加一个系统变量来获取值。然后,将项目的根文件夹添加到变量中。如果您需要查找特定的 abs 路径,它不会降低程序的可移植性。
-
@omu_negru System.getProperty("user.dir");和 System.out.println(new File(".").getAbsolutePath());打印相同的路径。
标签: java eclipse relative-path