关于 java:在 Eclipse JAR 导出中包含文本文件?
Include text file in Eclipse JAR export?
我正在使用
我将其导出为
这是我的文件结构的样子:

相关讨论
- 您如何尝试访问您的文件?如果您尝试从文件系统中读取它,它将不会在 jar 中找到它。这个答案可能会有所帮助
-
我在我的一个源文件中以这样的流访问我的文件:
new FileInputStream(new File("./learnaboutfonts.txt")
我建议你把你的
1 2 3 |
Resource resource = new ClassPathXmlApplicationContext().getResource("classpath:learnaboutfonts.txt"); InputStream is = resource.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); |
你可以使用
相关讨论
- 不要忘记在构建路径中添加 spring-context jar (spring-context-3.2.0.RELEASE.jar)。
你应该使用类似的东西:
1 |
InputStream input = getClass().getResourceAsStream("/learnaboutfonts.txt");
|
请注意,诀窍是正确使用前导"/"。如果您不放置前导 /,那么它会在其调用的类的包中搜索文件。
相关讨论
-
可能是个好主意。但是,它为
input 分配了一个空值,是否有任何可能的原因? - 要使上述代码正常工作,文件 learnaboutfonts 应该位于 jar 的根目录中。是吗?
- 你的答案是正确的。实际上,文本文件应该在源文件夹中,而不是根文件夹中,我很抱歉。 1 🙂
您如何访问您的文件?您可能需要一个相对文件路径,例如"./mytext.txt")。
使用这个模式:
1 2 |
InputStream is = new getClass().getResourceAsStream( "/text.txt"); |
测试以将您的文本文件包含在您要访问该文件的类的包中。
相关讨论
- 这不起作用。我得到
is 的空值。 - 为此使用 "new Object()" 并不好笑。
- 我从静态上下文中复制了它。是的,最好直接使用 getClass() :)。