在 Eclipse JAR 导出中包含文本文件?
•浏览 1
Include text file in Eclipse JAR export?
我正在使用 FileInputStream 来读取 File 对象。我的程序在 Eclipse IDE 中运行时能够读取文本文件,但在作为 JAR 文件运行时不能。
我将其导出为 JAR file 而不是 Runnable JAR file,并且我知道该文本文件已包含在 JAR 文件中,因为我将其提取出来进行检查。
这是我的文件结构的样子:
我建议你把你的 learnaboutfonts.txt 放在 src 文件夹中(不是在包中),并在源代码中读取文件,如下所示:
Resource resource = new ClassPathXmlApplicationContext().getResource("classpath:learnaboutfonts.txt");
InputStream is = resource.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
InputStream input = getClass().getResourceAsStream("/learnaboutfonts.txt");
InputStream is = new getClass().getResourceAsStream(
"/text.txt");
你可以使用 br 作为你想要使用的。快乐编码。
你应该使用类似的东西:
Resource resource = new ClassPathXmlApplicationContext().getResource("classpath:learnaboutfonts.txt");
InputStream is = resource.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
InputStream input = getClass().getResourceAsStream("/learnaboutfonts.txt");
InputStream is = new getClass().getResourceAsStream(
"/text.txt");
请注意,诀窍是正确使用前导"/"。如果您不放置前导 /,那么它会在其调用的类的包中搜索文件。
您如何访问您的文件?您可能需要一个相对文件路径,例如"./mytext.txt")。
使用这个模式:
Resource resource = new ClassPathXmlApplicationContext().getResource("classpath:learnaboutfonts.txt");
InputStream is = resource.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
InputStream input = getClass().getResourceAsStream("/learnaboutfonts.txt");
InputStream is = new getClass().getResourceAsStream(
"/text.txt");
测试以将您的文本文件包含在您要访问该文件的类的包中。