2017-01-26 10 views
-1

내가 항아리는 폴더 구조를 포함 foo.jar를 호출 말해봐> ---com |---company |---jar |---metadata |---service |---config |---foo.xml FileNotFoundException이는

그때 내 코드에서 파일을 읽으려고

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 당신이 숫자 원하는 경우)

이 사용 권한 문제의 원인은 무엇입니까? 어떻게 이런 일이 일어나지 않도록 수정 할 수 있습니까? 그리고이 문제가 발생하지 않도록 maven 의존성을 설치하기 위해 어떻게 mavan/intelliJ를 설정해야합니까?

+0

.jar 항목은 별도의 파일이 아니며 보관 파일의 바이트 시퀀스입니다. .jar 항목을 읽으려면 FileInputStream을 사용할 수 없습니다. – VGR

답변

1

JAR을 읽으려면 FileOutputStream (쓰기 용) 대신 FileInputStream (읽기 용)을 사용해야한다고 생각합니다.

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