【问题标题】:File cannot be accessed after export (Java)导出后无法访问文件(Java)
【发布时间】:2014-09-11 00:39:24
【问题描述】:

我知道有很多这样的问题,但到目前为止还没有任何帮助。

在 Eclipse 中,我的项目文件夹中有一个文件,我可以使用以下方法加载它:

 BufferedReader in = new BufferedReader(new FileReader(new File(path)));

当我导出项目时,它不会加载文件,因为它找不到文件。我不知道发生了什么。有什么建议么?谢谢。

【问题讨论】:

  • 您的导出不正确。通常在任何 IDE 中,当您选择导出时,它会为您提供一个选项,您要导出的所有文件。您一定没有选择所需的文件

标签: java eclipse file export bufferedreader


【解决方案1】:

如果要读取文件,有两种选择。

你可以...

确保该文件与导出的jar 文件和/或相同的执行上下文位于同一目录中。这将允许您使用类似BufferedReader in = new BufferedReader(new FileReader(new File("./" + fileName)));

引用文件时,需要指定文件的相对路径。

这意味着您必须确保在移动jar 文件时将文件复制到正确的位置。

你可以...

jar 中嵌入文件作为嵌入资源。这意味着该文件成为jar 文件的一部分。这也意味着您不能再将其引用为File,而需要使用Class#getResourceClass#getResourceAsStream,例如...

BufferedReader in = new BufferedReader(
    new InputStreamReader(this.getResourceAsStream("/path/to/resource")));

为了使用它,该文件必须放在 Eclipse 项目中的 resources 目录和构建路径中包含的目录中


如果您希望能够写入文件,那么您必须使用选项一。无法写入嵌入式资源(无需大量工作)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 2021-07-02
    相关资源
    最近更新 更多