2013-04-11 200 views
1

我正在查看代码new FileInputStream("config.properties")查找绝对路径

我在我的项目(做Windows文件搜索)在多个地方有相同的文件“config.properties”,我现在困惑,这个函数调用引用哪一个。我如何才能知道文件的绝对路径

我在互联网上发现了这个,但这个位置看起来不是正确的答案。

"ClassName".class.getProtectionDomain().getCodeSource().getLocation().getPath()但这没有看起来。能否请您纠正它,如果我错了,

+0

使用File file = new File(“config.properties”); file.getAbsolutePath(); – NullPointerException 2013-04-11 15:30:16

+0

对。我正在查看FileInputStream类,并尝试如果它有任何方法来查找绝对路径,但我可以将路径名称传递给File类,然后找到答案。 – 2013-04-11 15:37:11

回答

6

您可以使用File

File f = new File("config.properties"); 
System.out.println(f.getAbsolutePath()); 

返回的路径将从当前工作目录来推断。

+0

谢谢。有什么办法可以改变我的程序并为其设置相对路径,并开始引用其他使用该目录作为基础的目录? – 2013-04-11 15:31:07

+0

您可以使用'new File(“”)'确定程序的当前目录。然后从中构建所有路径。 – hmjd 2013-04-11 15:39:39

+0

当然。但是,我可以将该参考点更改为更相关的其他目录吗? – 2013-04-11 15:44:05

1
File f = new File("config.properties"); 
String dirPath = file.getParentFile().getAbsolutePath() 
+0

谢谢。有什么办法可以改变我的程序并为其设置相对路径,并开始引用其他使用该目录作为基础的目录? – 2013-04-11 15:36:00