我知道有很多这样的问题,但到目前为止还没有任何问题有帮助。
在eclipse中,我的项目文件夹中有一个文件,我可以使用它来加载它:
BufferedReader in = new BufferedReader(new FileReader(new File(path)));
当我导出项目时,它不会加载文件,因为它无法找到该文件。我不知道发生了什么事。有什么建议?感谢。
答案 0 :(得分:0)
如果您想阅读该文件,您有两种选择。
确保该文件与导出的jar
文件和/或相同的执行上下文位于同一目录中。这样您就可以使用BufferedReader in = new BufferedReader(new FileReader(new File("./" + fileName)))
;
引用文件时,需要指定文件的相对路径。
这意味着您必须确保在移动jar
文件时将文件复制到正确的位置。
将文件嵌入jar
作为嵌入资源。这意味着该文件将成为jar
文件的一部分。这也意味着您无法再将其引用为File
,但需要使用Class#getResource
或Class#getResourceAsStream
,例如......
BufferedReader in = new BufferedReader(
new InputStreamReader(this.getResourceAsStream("/path/to/resource")));
为了使用它,文件必须放在Eclipse项目的resources
目录和构建路径中包含的目录中
如果您希望能够写入该文件,那么您必须使用选项一。嵌入式资源无法写入(没有大量工作)