【问题标题】:How to open a file independently of the path of the Java project?如何独立于Java项目的路径打开文件?
【发布时间】:2017-05-18 14:48:24
【问题描述】:

我正在使用 Eclipse,我有一个名为“Test”的 Java 项目,其中还包含文本文件。这个项目中的一个类应该能够使用 BufferedReader 读取这些文件之一。这是我目前的代码:

BufferedReader in = new BufferedReader(new FileReader("C:/Users/workspace/Test/testFile.txt"));

我的文件始终在项目中,但是当我将项目移动到另一个路径时,文件路径也发生了变化,因此我必须使用新路径调整代码。 我不想要那个,因为它不切实际,那我该怎么办?如何获取项目的路径?

【问题讨论】:

  • 如果项目需要文件,为什么要先移动文件?最好将文件作为资源添加到项目中,从当前路径访问。
  • 一个简单的解决方案是使用像“./testFile.txt”这样的相对路径。请记住,这是相对于您启动应用程序的目录。
  • 我移动了包含该文件的项目。
  • 在这种情况下,您可以将文件放在项目的资源文件夹中,然后使用类加载器从那里获取文件。

标签: java eclipse file path


【解决方案1】:

试试这样的:

File currentDirFile = new File(".");
String fileDir = currentDirFile.getAbsolutePath();

【讨论】:

    【解决方案2】:

    You can add file to resources folder and read like

    ClassLoader classLoader = getClass().getClassLoader();
    File file = new File(classLoader.getResource("file/test.xml").getFile());
    

    【讨论】:

    • 我创建了一个新的“资源”文件夹并将文件放在那里。然后我用你的代码做 in = new BufferedReader(new FileReader(file));但它不起作用!
    • 您还需要将资源文件夹添加到构建路径:stackoverflow.com/questions/27934796/…
    猜你喜欢
    • 2023-03-05
    • 1970-01-01
    • 2019-03-09
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 2017-03-17
    • 2013-07-11
    • 1970-01-01
    相关资源
    最近更新 更多