我使用FileInputStream
来读取File
对象。我的程序能够在Eclipse IDE中运行时读取文本文件,但不能在作为JAR文件运行时读取。
我将其导出为JAR file
而非Runnable JAR file
,我知道该文本文件已包含在JAR文件中,因为我将其解压缩以进行检查。
这就是我的文件结构:
答案 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");
测试将您的文本文件包含在您要访问该文件的类的包中。