2015-08-03 1 views
1

У меня есть проект java, который должен читать файл во внешней папке. Я передаю путь к файлу как «../FolderName» в классе. Но если я сгенерировал файл jar из этого проекта, он не сможет прочитать файл. Каков правильный способ определения пути к папке в таких ситуациях?Прочтите файл из файла jar, jar, сгенерированный с использованием netbeans

+1

Вы можете предоставить некоторый код, который вы написали до сих пор, имя кувшина, и, возможно, расположение внутри проекта или файловой системы , У вас есть проблемы с другими банками/почтовыми индексами или только с теми, что встроены в netbeans? – Javier

+0

[Load Icon Image Exception] (http://stackoverflow.com/q/9864267/1393766) <- правило применяется ко всем ресурсам, а не только изображения – Pshemo

ответ

0

Правильный способ передачи абсолютного пути к вашему коду (jar) в качестве аргумента программы.

java -jar myjar.jar abs_path 

Вы можете получить доступ абсолютный путь в основной() метод вашего класса (упоминается в manifest.mf файле баночки) следующим образом:

String filePath = args[0]; 
+0

работает для меня спасибо :-) –

2

Вы должны использовать java.lang.Class.getResourceAsStream(String).

Он читает файл из вашего JAR.

Пример:

InputStream in = getClass().getResourceAsStream("/classpath/to/my/file"); 
BufferedReader input = new BufferedReader(new InputStreamReader(in)); 

Хорошая Ссылка: How to read a file from a jar file?

0
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("/classpath/toyourfile");