Java中的动态文件路径(写入和读取文本文件)

时间:2011-04-07 09:45:12

标签: java file file-io

好的,所以我想读一个文件名myfile.txt,让我们说我将它保存在这个目录下:

home / myName / Documents / workspace / myProject / files myfile.txt

嗯..我想知道我应该将File(filePath)作为我的参数传递给我...我可以输入类似“.. \ myfile.txt”的内容吗?我不想对文件路径进行硬编码,因为如果我在另一台PC上打开我的项目,它肯定会改变。如何确保文件路径尽可能动态?顺便说一句,我正在使用java。

File teacherFile = new File(filePath);

4 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:2)

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

但您也可以通过以下方式获取用户的主目录:

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

答案 2 :(得分:1)

你可以这样做:

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

现在basePath是你的应用程序文件夹的路径,添加精确的目录/文件名,你很高兴

答案 3 :(得分:0)

您可以使用../myfile.txt但是,此位置将根据应用程序的工作目录而变化。您最好确定项目的基本目录并使用相对于该目录的路径。