Хочу запустить параллельное выполнение программы на кластере.
Запускаю jar-ник, но тут возникла проблема: на вход программе подается некоторый входной файл. Внутри jar он лежит(экспортировал класс и все ресурсы).
При запуске программы(без передачи этого файла) вылетает ошибка, мол не может найти такого файла.
Как сделать так, чтобы не передавать входные данные программе, если они в jar лежат?
Пример кода:
public class Test3 {
public static void main(String[] args) throws IOException {
Здравствуйте, 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