【问题标题】:Dynamic filepath in Java (writing and reading text files)Java中的动态文件路径(写入和读取文本文件)
【发布时间】:2011-04-07 09:45:11
【问题描述】:

好的,所以我想读取一个文件名 myfile.txt,假设我将把它保存在这个目录下:

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

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

File teacherFile = new File(filePath);

【问题讨论】:

    标签: java file file-io


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

        你可以做到的:

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

        现在basePath 是您的应用程序文件夹的路径,将其添加到确切的目录/文件名,您就可以开始了

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2016-10-06
            • 1970-01-01
            • 1970-01-01
            • 2012-09-15
            • 1970-01-01
            • 2015-05-29
            • 2013-05-31
            相关资源
            最近更新 更多