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