关于 java:在 Eclipse JAR 导出中包含文本文件?

Include text file in Eclipse JAR export?

我正在使用 FileInputStream 来读取 File 对象。我的程序在 Eclipse IDE 中运行时能够读取文本文件,但在作为 JAR 文件运行时不能。

我将其导出为 JAR file 而不是 Runnable JAR file,并且我知道该文本文件已包含在 JAR 文件中,因为我将其提取出来进行检查。

这是我的文件结构的样子:
enter


我建议你把你的 learnaboutfonts.txt 放在 src 文件夹中(不是在包中),并在源代码中读取文件,如下所示:

1
2
3
Resource resource = new ClassPathXmlApplicationContext().getResource("classpath:learnaboutfonts.txt");
InputStream is = resource.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));

你可以使用 br 作为你想要使用的。快乐编码。


你应该使用类似的东西:

1
InputStream input = getClass().getResourceAsStream("/learnaboutfonts.txt");

请注意,诀窍是正确使用前导"/"。如果您不放置前导 /,那么它会在其调用的类的包中搜索文件。


您如何访问您的文件?您可能需要一个相对文件路径,例如"./mytext.txt")。

使用这个模式:

1
2
InputStream is = new getClass().getResourceAsStream(
                       "/text.txt");

测试以将您的文本文件包含在您要访问该文件的类的包中。