java - 如何使用 FileInputStream 访问 jar 中的 txt 文件?

标签 java inputstream fileinputstream

我知道 getResourceAsStream() 方法,但是读取文件的解析器存在问题,整个结构的实现是为了期待 FileInputStream() getResourceAsStream() 返回一个无法转换的输入流。这种情况有什么简单的“解决办法”吗?

最佳答案

JAR 文件中包含的资源本身不是文件,不能使用 FileInputStream 读取。如果您的代码绝对需要 FileInputStream,那么您需要使用 getResourceAsStream() 提取数据,将其复制到一个临时文件中,然后传递一个 FileInputStream 将该临时文件添加到您的代码中。

当然,以后再也不要写代码期待InputStream之类的具体实现,你会后悔的。

关于java - 如何使用 FileInputStream 访问 jar 中的 txt 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1913565/

相关文章:

java - mockito 无法匹配重载方法

java - 从字符串数组+颜色词中获取每个单词

c++ - 我应该只对无效输入使用异常处理吗?

java - OpenCSV 避免使用 FileWriter 并返回 InputStream

java - 输入流读取器

java - HTTP 服务器不发送输出流中的最后一个字符

c# - AES 负字节

java - 错误 : unreported exception FileNotFoundException; must be caught or declared to be thrown

java - 在 java 程序中为属性文件分配目标

java - 将文本文件中的数据解析为Java中的多个数组