说我有一个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依赖项。
答案 0 :(得分:1)
如果你想阅读JAR,我认为你应该使用FileInputStream(用于阅读)而不是FileOutputStream(用于写作)。
FileInputStream file = new FileInputStream("/path/to/jar/foo.jar!/com/company/jar/metadata/service/config/foo.xml")