在Eclipse JAR导出中包含文本文件?

时间:2015-04-24 16:44:34

标签: java eclipse file jar

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

我将其导出为JAR file而非Runnable JAR file,我知道该文本文件已包含在JAR文件中,因为我将其解压缩以进行检查。

这就是我的文件结构: enter image description here

3 个答案:

答案 0 :(得分:3)

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

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

您可以根据需要使用br。快乐的编码。

答案 1 :(得分:1)

你应该使用类似的东西:

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

请注意,诀窍是使用前导" /"正常。如果你没有把前导/,那么它会在它调用的类的包中搜索文件。

答案 2 :(得分:0)

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

使用此模式:

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

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