如何获取文件的文件和根项目的当前路径?

时间:2014-08-20 01:57:16

标签: java

假设我想在项目中的某个位置创建一个新文件夹,所以我想获取运行代码的当前工作路径或项目的根路径。

我不想硬编码路径。我使用了getAbsolute()getCanonicalFile()System.property("user.dir"),但它无法正常使用。

3 个答案:

答案 0 :(得分:4)

您可以将当前工作目录设为

File cwd = new File("./");

如果你需要将它变为绝对路径,那么

cwd.getAbsolutePath();

您可以使用

创建新目录
File newDir = new File(cwd, "newDirectory");
newDir.mkdir();
  

但我的代码在其他地方:/ home / root /...../project/class.java

当前工作目录(通常)是从中启动Java的目录。这与jar文件的位置完全无关,而这反过来与源代码的位置完全无关。

启动Java程序(而不是编译器)时,需要正确设置当前工作目录。

如果你从一个shell开始,cd到你需要它的地方。如果从IDE启动,则应该有一个设置。

答案 1 :(得分:0)

您可以使用相对路径来获取项目的根目录。这段代码,

new File("myFolder").mkdir();

将在项目的根目录中创建一个名为myFolder的新文件夹。如果未指定绝对路径,编译器将始终转到项目的根目录。

如果你想在你的主类所在的地方工作(这与项目的根目录不同),你可以像这样获得你的主类的路径:

URL mainPath = Main.class.getResource("Main.class");

(将Main替换为主类的名称。)

答案 2 :(得分:0)

像那样使用

 Path path = Paths.get("");
 String s = path.toAbsolutePath().toString();
 System.out.println(s);