java如何解析[new File(“filename.txt”)]之类的相对路径?

时间:2014-06-13 07:57:43

标签: java file relative-path

在java中,我使用相对路径来创建这样的文件:

File file = new File("filename.txt");

程序如何解决路径?在我的程序中,我遇到了与此相关的问题。当我工作时,我使用eclipse - 它从编译的文件中运行程序(不将其打包到.jar)。最终程序将从jar文件或在ubuntu中使用一些脚本运行。在上述3个案例中,代码在不同目录中创建路径。要解决它,我必须了解它是如何工作的。那么java如何解析这样的相对路径?

3 个答案:

答案 0 :(得分:2)

它相对于进程的当前工作目录解析它。例如,您可以在运行配置中在Eclipse中指定。

基本上,您应该使用绝对文件名,或者确保从适当的目录运行它。 (您还没有表明 你是如何从jar文件或脚本中运行它的......)

答案 1 :(得分:2)

对于java,相对路径是相对于工作目录的,即从您开始应​​用程序的目录。您可以执行String current = new java.io.File( "." ).getCanonicalPath();之类的操作来查找它的位置。

通常,在Eclipse中,它是项目目录。

答案 2 :(得分:0)

您当前正在运行的文件的目录是c://abc//xyz//yourRunningFile.

然后你的文件就像c://abc//xyz//filename.txt

这样的路径 只有当你没有配置它并且你从eclipse配置时,这个事情才会发生,因为Jon说你可以自定义它。