Как добавить файлы src в jar?
Я создал приложение Java, которое читает данные из txt-файла, расположенного в папке src. Путь, который я указал в программе - /src/data.txt, и он работает, когда я запускаю его из netbeans. Однако, когда я попытался открыть файл JAR, ничего не открывается. Поэтому я попытался использовать javac из командной строки, и это дает мне ошибку, что data.txt не может быть найден.
Как мне убедиться, что файл данных включен в jar, чтобы он работал автономно? Благодарю. РЕДАКТИРОВАТЬ1: Вот фрагмент кода, который я использую для загрузки файла. И используемый путь - вышеупомянутый /scr/data.txt
public String [] openFile() throws IOException {
FileReader fr = new FileReader(this.path);
BufferedReader br = new BufferedReader(fr);
String []text = new String[this.numberoflines];
for(int i=0;i<this.numberoflines;++i)
{
text[i]=br.readLine();
}
br.close();
return text;
}
РЕДАКТИРОВАТЬ 2: Ну вот вывод ТВФ:
Ошибка: не удалось найти или загрузить основной класс jarC:\Users\Abhishek>jar -tvf Scrades.jar
0 Sun Jan 22 18:47:08 IST 2012 META-INF/
199 Sun Jan 22 18:47:06 IST 2012 META-INF/MANIFEST.MF
2562 Sun Jan 22 18:47:08 IST 2012 CombinationGenerator.class
684 Sun Jan 22 18:47:08 IST 2012 Gameplay$1.class
684 Sun Jan 22 18:47:08 IST 2012 Gameplay$2.class
684 Sun Jan 22 18:47:08 IST 2012 Gameplay$3.class
684 Sun Jan 22 18:47:08 IST 2012 Gameplay$4.class
684 Sun Jan 22 18:47:08 IST 2012 Gameplay$5.class
969 Sun Jan 22 18:47:08 IST 2012 Gameplay$6.class
18279 Sun Jan 22 18:47:08 IST 2012 Gameplay.class
2275 Sun Jan 22 18:47:08 IST 2012 PermutationGenerator.class
1252444 Sun Jan 22 18:47:08 IST 2012 eng_final1.txt
3771960 Sun Jan 22 18:47:08 IST 2012 english_huge.txt
815532 Sun Jan 22 18:47:08 IST 2012 english_long.txt
16104 Sun Jan 22 18:47:08 IST 2012 english_short.txt
1506 Sun Jan 22 18:47:08 IST 2012 readFile.class
1 ответ
Вы можете вручную проверить, поместить и удалить файл в архиве jar, используя экстрактор r ar, такой как winrar: Class.getResourceAsStream(String)
;
InputStream is = getClass().getResourceAsStream("/src/data.txt");
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null){
//Perform operations
}
br.close();
isr.close();
is.close();