导出后无法访问文件(Java)

时间:2014-09-11 00:39:25

标签: java eclipse file export bufferedreader

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

在eclipse中,我的项目文件夹中有一个文件,我可以使用它来加载它:

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

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

1 个答案:

答案 0 :(得分:0)

如果您想阅读该文件,您有两种选择。

你可以......

确保该文件与导出的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目录和构建路径中包含的目录中


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