Java 尝试在jar中打开文件时FileNotFoundException
假设我有一个jar调用它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
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")