如果我将一些(例如*.txt)文件加载到我的java应用程序中,我如何将它包含到我的最终可执行jar中以使其可移植(意味着如果我将我的jar移动到另一台机器上,则不需要移动这个* .txt 文件)?
请注意,我不需要文件的内容,我需要文件本身。我应该如何从代码中写入该文件的路径?
String path = "path/to/file/"; //Yeah it should be String
我正在使用 IntellijIDEA,我可以将任何文件包含到我的最终 jar 中,但无法弄清楚将其放置在哪里。谢谢。
最佳答案
只需将文件放入项目的 src 文件夹中 - 例如src/resource/file.txt。当您构建项目时,整个 src 内容将放入生成的 jar 中。您可以使用以下代码访问您的文件:
this.getClass().getResource("/resource/file.txt");
读取所有行的示例:
URL url = this.getClass().getResource("/resource/file.txt");
Path path = Paths.get(url.toURI());
List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);
关于java - 将外部文件(非 jar)包含到可执行 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27777934/