2011-04-07 133 views
3

好了,所以我想读一个文件名myfile.txt中,让我们说,我会在这个目录下保存它:动态文件路径(写入和读取文本文件)

家/ MYNAME /文档/工作区/ myProject /文件myfile.txt

嗯..我想知道我应该通过File(filePath)作为我的参数...我可以把类似“.. \ myfile.txt”?我不想硬编码文件路径,因为如果说我在另一台PC上打开我的项目,它肯定会改变。我如何确保文件路径尽可能动态?顺便说一下,我使用的是java。

File teacherFile = new File(filePath); 

回答

4

您可以使用相对路径引用文件,如../myfile.txt。这些路径的基础将是Java进程在命令行中启动的目录。对于Eclipse,它是您的项目的根,或者您在下运行>运行配置>参数作为工作目录配置的内容。如果你想看到当前目录是Java里面有什么,这里有一个窍门,以确定它:

File currentDir = new File(""); 
System.out.println(currentDir.getAbsolutePath()); 
0

可以使用../myfile.txt但是这个位置将取决于应用程序的工作目录更改。您最好确定项目的基本目录并使用相关路径。

2

您可以使用相对路径,默认情况下它们将相对于执行Java应用程序的当前目录。

但你也可以获取用户的主目录:

String userHome = System.getProperty("user.home"); 
1

你可以这样做:

File currentDir = new File ("."); 
String basePath = currentDir.getCanonicalPath(); 

现在basePath是路径到您的应用程序文件夹,添加它的确切DIR /文件名,你很好去