【问题标题】:Reading text file from outside a JAR file?从 JAR 文件外部读取文本文件?
【发布时间】:2015-12-23 18:28:20
【问题描述】:

我可以在 Eclipse 中读取和更改文本文件,但是当导出为“可运行 JAR”时它不再起作用,在我看来,相对路径来自 JAR 内部,而不是 JAR。

BufferedReader bufferedReader = new BufferedReader(new FileReader("RELATIVE PATH"));

我希望这样,如果我将我的程序导出为 program.jar,并将 file.txt 与 program.jar 放在同一文件夹中,它会打开 file.txt(如果这是设置的相对路径)。

感谢您的帮助。

【问题讨论】:

  • FileAnythings 不知道如何查看 jar 文件。

标签: java eclipse jar path relative-path


【解决方案1】:

您可以根据this answer的解决方案获取您的.jar文件所在的目录,并使您的文件访问相对于该目录。

注意有关从非文件位置加载类的警告!

【讨论】:

  • 这最终从位置“workspace\projectName\target\classes”加载(在 Eclipse 中,未在 .jar 中测试),我希望它从“workspace”加载(文件的文件夹位于)。