Запуск программы
От: Stas0n  
Дата: 25.05.13 16:03
Оценка:
Хочу запустить параллельное выполнение программы на кластере.
Запускаю jar-ник, но тут возникла проблема: на вход программе подается некоторый входной файл. Внутри jar он лежит(экспортировал класс и все ресурсы).
При запуске программы(без передачи этого файла) вылетает ошибка, мол не может найти такого файла.
Как сделать так, чтобы не передавать входные данные программе, если они в jar лежат?

Пример кода:
public class Test3 {

public static void main(String[] args) throws IOException {

Scanner scanner = null;
try {
scanner = new Scanner(new File("test.txt"));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
String line = scanner.nextLine();
String[] string = line.split("\t");
.....
.....
}
Пробовал
InputStream resStream = Test3.class.getResourceAsStream("text.txt");

но вылезает NullPointerException когда scanner передаю resStream
Re: Запуск программы
От: dimgel Россия https://github.com/dimgel
Дата: 25.05.13 16:09
Оценка:
Здравствуйте, Stas0n, Вы писали:

S>Как сделать так, чтобы не передавать входные данные программе, если они в jar лежат?


getClass.getResouceAsStream("/com/domain/.../test.txt")
Re[2]: Запуск программы
От: Stas0n  
Дата: 25.05.13 16:12
Оценка:
Здравствуйте, dimgel, Вы писали:

D>Здравствуйте, Stas0n, Вы писали:


S>>Как сделать так, чтобы не передавать входные данные программе, если они в jar лежат?


D>getClass.getResouceAsStream("/com/domain/.../test.txt")


Дело в том, что test.txt лежит в той же папке, что и src..
Re[3]: Запуск программы
От: dimgel Россия https://github.com/dimgel
Дата: 25.05.13 16:31
Оценка:
Здравствуйте, Stas0n, Вы писали:

S>Дело в том, что test.txt лежит в той же папке, что и src..


Не понял. Ты ж написал, что файл внутри jar лежит. Вот по абсолютному пути от корня jar и вытаскивай.
Re: Запуск программы
От: Аноним  
Дата: 25.05.13 16:33
Оценка:
Здравствуйте, Stas0n, Вы писали:

S>Хочу запустить параллельное выполнение программы на кластере.

S>Запускаю jar-ник, но тут возникла проблема: на вход программе подается некоторый входной файл. Внутри jar он лежит(экспортировал класс и все ресурсы).
S>При запуске программы(без передачи этого файла) вылетает ошибка, мол не может найти такого файла.
S>Как сделать так, чтобы не передавать входные данные программе, если они в jar лежат?

S>Пример кода:

S>public class Test3 {

S>public static void main(String[] args) throws IOException {


S> Scanner scanner = null;

S> try {
S> scanner = new Scanner(new File("test.txt"));
S> } catch (FileNotFoundException e) {
S> e.printStackTrace();
S> }
S> String line = scanner.nextLine();
S> String[] string = line.split("\t");
S> .....
S> .....
S>}
S>Пробовал
S>InputStream resStream = Test3.class.getResourceAsStream("text.txt");

S>но вылезает NullPointerException когда scanner передаю resStream


попробуй:
InputStream resStream = Test3.class.getResourceAsStream("/text.txt");
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.