2013-12-08 5 views
5

Я запускаю программу в eclipse, которая ссылается на файл в исходной папке программы. Однако, когда я экспортирую программу в исполняемый JAR, программа не может найти файл. По сути, программа отлично работает в eclipse, но не делает этого, когда это отдельная программа.Java JAR не может найти файл

Я приложил фотографию того, как я ссылаюсь на файл в программе.

enter image description here

ответ

7

После того, как это в банке, вы не можете найти его с помощью new File() - теперь это путь класса ресурсов. Вам необходимо использовать this.getClass().getResourceAsStream("/TestFileFolder/TRANSFER.xls"); (или, если ваш метод статичен, вам необходимо использовать className.class вместо getClass()).

Это на самом деле функция - если по какой-либо причине вам необходимо изменить ресурс TRANSFER.xls, вы можете сделать это, затеняя его в пути к классам, не переупаковывая банку.

+0

Итак, что будет возвращено из this.getClass(). GetResourceAsStream ("/ TestFileFolder/TRANSFER.xls"); '? Я смущен тем, что это даст мне, и где я это сделаю. – Izzo

+0

Ничего. Я понял, что вы показали, заменит поток ввода файла. Казалось, это решило мою проблему. – Izzo

+2

Тогда почему вы не согласны с ответом, установив флажок в поле? –

Смежные вопросы