выдает ошибку InvalidQuizException: No line
У меня есть класс Quiz он рабочий. Но чтобы он работал ему нужен текстовый файл. Я выбираю файл через fileChooser меняю его на String. Пустой текстовой файл принимает, а вот с текстом нет
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
import java.io.File;
import java.io.FileNotFoundException;
public class SelectFile {
@FXML
private Button selectFileBtn;
@FXML
void initialize() throws Exception{
selectFileBtn.setOnAction(event -> {
FileChooser fileChooser = new FileChooser();
FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("TXT files (*.txt)", "*.txt");
fileChooser.getExtensionFilters().add(extFilter);
Stage s = Main.getPrimaryStage();
File file = fileChooser.showOpenDialog(s);
Quiz quiz = new Quiz();
if (file != null) {
String fileAsString = file.toString();
String[] strArray = new String[] {fileAsString};
try {
Quiz var1 = Quiz.loadFromFile(fileAsString);
var1.start();
} catch (InvalidQuizFormatException e) {
e.printStackTrace();
}
}
});
}
}
Ответы (1 шт):
Автор решения: Roman C
→ Ссылка
Надо понимать, что file.toString() не читает содержимое файла. Чтобы прочитать его вам надо воспользоваться одним из вариантов
Считывание текста из файла в java
Тут ещё есть интересная статья на эту тему
Эволюция Java на примере чтения строк из файла
К тому же у вас нет обработчика исключения InvalidQuizException, которое надо отлавливать в том же блоке.
} catch (InvalidQuizFormatException | InvalidQuizException e) {
e.printStackTrace();
}