尝试在jar中打开文件时出现FileNotFoundException

时间:2017-01-26 15:34:28

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

说我有一个jar调用它foo.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)

而失败

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

导致此权限问题的原因是什么?我该如何解决它以避免将来发生这种情况。如何配置mavan / intelliJ以不会发生此问题的方式安装maven依赖项。

1 个答案:

答案 0 :(得分:1)

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

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