【问题标题】:FileNotFoundException when attempting to open a file in a jar [duplicate]尝试打开 jar 中的文件时出现 FileNotFoundException [重复]
【发布时间】:2017-06-12 03:19:22
【问题描述】:

假设我有一个名为 foo.jar 的 jar,其中包含一个文件夹结构> ---com |---company |---jar |---metadata |---service |---config |---foo.xml

然后我尝试从我的代码中读取文件

  FileOutputStream file = new FileOutputStream("/path/to/jar/foo.jar!/com/company/jar/metadata/service/config/foo.xml") 

java.io.FileNotFoundException foo.xml(Permission denied) 失败

有问题的罐子有:-rw-r--r--(如果您喜欢数字,则为 644)

是什么导致了这个权限问题?我该如何解决它以避免将来发生这种情况。以及如何配置mavan/intelliJ安装maven依赖,这样就不会出现这个问题了。

【问题讨论】:

  • .jar 条目不是单独的文件,它是存档中的字节序列。您不能使用 FileInputStream 读取 .jar 条目。

标签: java file jar java-7 file-permissions


【解决方案1】:

如果你想读取 JAR,我认为你应该使用 FileInputStream(用于读取)而不是 FileOutputStream(用于写入)。

FileInputStream file = new FileInputStream("/path/to/jar/foo.jar!/com/company/jar/metadata/service/config/foo.xml")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    • 2014-03-11
    • 2023-03-27
    相关资源
    最近更新 更多