Java中的相对路径

时间:2012-06-29 10:01:02

标签: java file filesystems

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

例如我的程序驻留在

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

..且目标文件位于..

/home/username/project/secure/

3 个答案:

答案 0 :(得分:3)

  

例如我的程序驻留在/ home / username / project / src / com / xyz /

     

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

了解程序源代码所在的位置无济于事。您需要知道的是程序执行时的当前目录。这可能是任何事情。即使您从(例如)Eclipse启动应用程序,应用程序启动器也允许您在运行配置中为子进程指定“当前目录”。

答案 1 :(得分:2)

您当前的路径。

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

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

relativePath= ../../../secure;

答案 2 :(得分:0)

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

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

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