Java 尝试在jar中打开文件时FileNotFoundException

Java 尝试在jar中打开文件时FileNotFoundException,java,file,jar,java-7,file-permissions,Java,File,Jar,Java 7,File Permissions,假设我有一个jar调用它foo.jar,它包含一个文件夹结构> ---com |---公司 |---罐子 |---元数据 |---服务 |---配置 |---foo.xml 然后,我尝试使用 FileOutputStream file = new FileOutputStream("/path/to/jar/foo.jar!/com/company/jar/metadata/service/config/foo.xml") 由于java.io.FileNotFoundExceptio

假设我有一个jar调用它
foo.jar
,它包含一个文件夹结构>

---com
|---公司
|---罐子
|---元数据
|---服务
|---配置
|---foo.xml

然后,我尝试使用

  FileOutputStream file = new FileOutputStream("/path/to/jar/foo.jar!/com/company/jar/metadata/service/config/foo.xml") 
由于
java.io.FileNotFoundException foo.xml(权限被拒绝)

所讨论的jar有:
-rw-r--r--
(644,如果您喜欢数字)


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

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


jar条目不是一个单独的文件,它是归档文件中的一个字节序列。不能使用FileInputStream读取.jar条目。
FileInputStream file = new FileInputStream("/path/to/jar/foo.jar!/com/company/jar/metadata/service/config/foo.xml")