Java - 如何在项目中获取文件的正确绝对路径

时间:2017-04-06 07:59:52

标签: java absolute-path

我的Java项目中的文件夹中有一个XML文件,我想获得它的绝对路径,因此我可以将其作为文件加载以便解析它(DOM)。我不想使用绝对/相对路径,而只想指定文件名,然后获取绝对路径。我尝试以几种不同的方式做到这一点,但是我得到的路径总是缺少一个文件夹名称。

我明白了:

C:\Users\user\workspace\projectName\Input.xml<br>

而不是:

C:\Users\user\workspace\projectName\\**Folder1**\\Input.xml

-

File input = new File(project.getFile("Input.xml").getLocation().toString());`
File input = new File(project.getFile("Input.xml").getRawLocation().makeAbsolute().toString());
File input = new File(project.getFile("Input.xml").getLocationURI().getRawPath().toString());
File input = new File(project.getFile("Input.xml").getFullPath().toFile().getAbsolutePath());

如何获得正确的路径,包括Folder1

1 个答案:

答案 0 :(得分:0)

阅读你的问题(你的项目在工作区目录中)我想你是在谈论Eclipse中的一个项目。

您的应用程序运行到Eclipse的默认目录是项目的基础目录。

所以,如果你在主要的地方运行这样的东西:

localhost/magento/admin/

您应该会看到项目中的所有文件和目录。

因此,如果您想要的只是项目运行的绝对路径:

Files.newDirectoryStream(Paths.get("."))
     .forEach(path -> {
       System.out.println(path);
       System.out.println(path.toFile().getAbsolutePath());
     });

如果要打开仅指定名称的资源System.out.println(Paths.get(".").toFile().getAbsolutePath()); ,我建议在目录中移动所需的所有文件并运行如下方法:

Input.xml