从命令行运行jar会产生FileNotFoundException

时间:2015-11-28 20:40:00

标签: java intellij-idea jar

这是我在Java项目中运行的代码,用于从文本文件中读取:

ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("wordsEn.txt").getFile());
BufferedReader br = new BufferedReader(new FileReader(file);

当我在Intellij IDEA中运行此程序时,一切正常,但是当我构建其JAR文件时,将其放在我的桌面上,并使用命令java -jar SyzygiesGudrat.jar从我的桌面通过命令行运行它,它提供{ {1}}

我必须在哪里放置文本文件才能从任何地方运行此JAR,或者为了让其他人能够在我发送给它时运行此JAR?

我的项目结构如下:

enter image description here

2 个答案:

答案 0 :(得分:0)

将代码更改为以下代码,正如@MadProgrammer建议的那样。现在一切正常。

 InputStream in = this.getClass().getResourceAsStream("wordsEn.txt");
 BufferedReader br = new BufferedReader(new InputStreamReader(in);

答案 1 :(得分:0)

我坚持同样的问题。 解决方案是:您可以通过IDE或命令提示符创建jar。 在您存放jar的文件夹中运行jar时,必须提供txt文件。

例如,如果将jar保存在桌面上,那么在从命令提示符运行jar之前,桌面上必须有txt文件。