2017-01-26 6 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, если вы предпочитаете числовой)

Что вызывает эту проблему с разрешениями? Как я могу исправить это, чтобы избежать этого в будущем. И как настроить mavan/intelliJ для установки зависимостей maven таким образом, чтобы эта проблема не возникала.

+0

Запись .jar не является отдельным файлом, это последовательность байтов в архиве. Вы не можете использовать FileInputStream для чтения записи .jar. – VGR

ответ

1

Если вы хотите прочитать JAR, я думаю, вы должны использовать FileInputStream (для чтения) вместо FileOutputStream (для записи).

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