Java FileNotFoundException при запуске файла JAR - PullRequest
0 голосов
/ 11 декабря 2010

В моем проекте я загружаю свой ресурс, используя

getClass().getResource("/package/my_reource.file").getFile()

Все работает хорошо, когда я запускаю проект в netbeans, но если я запускаю файл jar, я получаю FileNotFoundException, почему?

Спасибо.

Ответы [ 4 ]

2 голосов
/ 15 февраля 2012

Вы можете использовать InputStream вместо getClass().getResource("/package/my_reource.file").getFile()

Вы должны использовать

getClass.getResourceAsStream("/package/myresource.file")
1 голос
/ 11 декабря 2010

Я не думаю, что вам нужно имя файла.Вам скорее нужно его содержание.Поэтому используйте getResourceAsStream(), чтобы получить InputStream и прочитать содержимое оттуда.

0 голосов
/ 11 декабря 2010

getFile () возвращает часть пути к файлу URL-адреса, возвращаемого getResource (). Так что, если он находится в Jar, вы должны прочитать jar, чтобы получить файл.Если он находится в файловой системе, вы можете прочитать, используя FileInputStream.

Если вы хотите получить InputStream и не создаете, откуда вы его получаете, используйте getResourceAsStream ()

0 голосов
/ 11 декабря 2010

Проверьте свою банку. Я считаю, что вашего файла там нет. Причины зависят от того, как вы создаете свою банку. Если вы делаете это с помощью NetBeans, проверьте свои настройки. Возможно, он включает только файлы * .class? То же самое касается муравья. Проверьте тег.

...