我已经阅读了 StackOverflow 中与此相关的所有其他问题,但没有找到任何明确的答复。简而言之,我有一个应用程序,它将一些文件存储在我将使用的目录中,而不是处理它们。我打算将我的应用程序移动到不同的地方(其他计算机),所以我需要有一个相对路径来使用,这样我就不会每次都改变它。有谁知道如何获取应用程序的相对路径(不是完整路径),以便我可以在这种情况下使用?如果我要问的不是赖特,请告诉我另一种实现我需要的方法。谢谢
问问题
3024 次
2 回答
3
只需使用"./"
.
无论您的应用程序从哪个目录启动,"./"
都将始终返回该目录。
例如:
new File("./")
将返回一个指向您的 java 应用程序启动目录的文件对象
new File("./myDirectory")
将返回一个指向 myDirectory 文件夹的文件对象,该文件夹位于启动您的 java 应用程序的目录中
于 2013-06-10T12:26:02.160 回答
1
这是一种方法:
我相信您需要在配置/属性文件中定义包含文件的目录路径。当您移动应用程序或包含该文件的目录时,您可以更改配置文件中的路径。这就是你的属性文件(比如说 config.properties)内容应该是这样的:
文件目录路径=\usr\home\test
这就是您应该在代码中执行的操作:
private void readConfig()
{
Properties prop = new Properties();
try {
//load a properties file
prop.load(new FileInputStream("config.properties"));
//get the directory path property value
String flesDirPath = prop.getProperty("filesDirPath");
System.out.println("Files to be read are located in dir : " + flesDirPath );
} catch (IOException ex) {
ex.printStackTrace();
}
}
于 2013-06-10T12:26:11.147 回答