GUI сделан с использованием JavaFx, который использует File Input / Outstream - Можно ли его экспортировать как JAR и открыть файл .txt? - PullRequest
0 голосов
/ 22 мая 2018

Я пытаюсь экспортировать GUI (приложение Student Grade Manager), который я создал в eclipse, как файл JAR и запустить его на своем рабочем столе.Ничего не происходит, когда я дважды щелкаю по нему (хотя он успешно экспортируется) в данный момент.Вот снимок экрана:

Снимок экрана GUI - Нажмите здесь

Я предполагаю, основная проблема вот что вмой GUI , я использую Поток ввода файла в файле CourseSectionApp.java (где расположен основной метод).Он читает .txt файл с именем «StudentMarks.txt», и вот откуда он получает все свои данные о студентах.: * 10101 *

Есть ли способ заставить это работать?Можно ли экспортировать файл .txt вместе с файлом JAR, чтобы он загружался вместе?ИЛИ есть ли способ разместить подокно, как в современных приложениях, где пользователь может перейти к File-> New-> и сказать «загрузить из файла», а затем разрешить перейти к файлу .txt на своемкомпьютер?

Моя главная цель - иметь возможность отправить это по электронной почте друзьям и попросить их использовать их, но я погуглил и обнаружил, что только у некоторых людей есть похожие проблемы с неясными ответами.И если файл JAR не может сделать это, что может?Изменит ли это что-либо .exe?

Снимок экрана файла Marks.txt

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

1 Ответ

0 голосов
/ 22 мая 2018

Если вам не нужно записывать в файл, в том числе файл как ресурс в банке будет вашим лучшим вариантом.Таким образом, вы всегда можете быть уверены, что файл доступен через имя записи jar.Например,

try (InputStream is = getClass().getResourceAsStream("/data/Marks.txt");
     InputStreamReader isr = new InputStreamReader(is);
     BufferedReader br = new BufferedReader(isr)){
    model = CourseSection.loadFrom(br);
}

Если вам также необходимо выполнить запись в файл, вы можете использовать FileChooser, чтобы открыть диалоговое окно выбора файла:

FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("Open Marks File");
fileChooser.getExtensionFilters().add(new ExtensionFilter("Text Files", "*.txt"));

File file = fileChooser.showOpenDialog(null); // you could also pass a owner window here

if (file != null) {
    // TODO: handle completed file selection by user
}

Описанная проблемав комментариях указывает, что есть проблема с classpath, хотя.Вы должны убедиться, что все необходимые классы доступны при запуске приложения ...

...