1

我的程序必须使用驻留在另一个目录中的某些文件。现在我正在使用绝对路径来指定文件的位置。但我知道,与我的程序所在的位置相比,这些文件的相对位置将保持不变。如何在 Java 中使用相对路径来指定这些文件的位置?

例如我的程序驻留在

/home/username/project/src/com/xyz/

..目标文件在..

/home/username/project/secure/
4

3 回答 3

3

例如,我的程序位于 /home/username/project/src/com/xyz/

目标文件位于 /home/username/project/secure/

知道程序源代码所在的位置并没有帮助。您需要知道的是程序执行时的当前目录。这实际上可以是任何东西。即使您从(例如)Eclipse 启动应用程序,应用程序启动器也允许您在运行配置中为子进程指定“当前目录”。

于 2012-06-29T10:20:34.853 回答
2

您当前的路径。

 currentPath= /home/username/project/src/com/xyz/;

“/home/username/project/secure/”文件夹的相对路径是

relativePath= ../../../secure;
于 2012-06-29T10:02:39.433 回答
0

在 Java 中,您可以使用它getParentFile()来遍历树。

File currentDir = new File(".");
File parentDir = currentDir.getParentFile();

这将是安全的,因为您没有使用系统相关的文件分隔符 (../)

于 2012-06-29T10:17:59.173 回答