Я пытаюсь реализовать пользовательский интерфейс ввода для настольной игры.Я пытаюсь получить пользовательский ввод по одному, а затем записать его в файл (так как мне нужно сохранить список шагов, сделанных пользователем).То, что у меня есть, работает хорошо (чтение ввода и запись его в файл), однако, когда пользователь хочет прекратить ввод, программа просто перестает работать.IE;когда вы нажимаете Ctrl + C, программа просто завершается.
Вот что у меня есть, переменная fileName была объявлена вне основной функции
public static void main(String[] args) throws IOException {
BufferedReader inputReader = new BufferedReader (new InputStreamReader (System.in));
try {
FileWriter outFile = new FileWriter (fileName);
PrintWriter out = new PrintWriter (outFile);
System.out.print ("Enter move: ");
String line = inputReader.readLine();
while (line != null) {
System.out.print ("Enter move: ");
out.write(inputReader.readLine());
out.write(" ");
}
out.close();
} catch (IOException e) {
System.out.println (e.getMessage());
}
System.out.println ("Reached here");
}
Что я пытаюсьделать, когда пользователь хочет прекратить ввод, я хочу добраться до строки печати, где написано «Достигнуто здесь».Я хочу сделать это, потому что, выйдя за пределы цикла, я могу прочитать файл, а затем разделить ввод и манипулировать им.Я помню, что при программировании на C раньше было время (input! = EOF);где всякий раз, когда пользователь вводит ctrl + d или ctrl + c, он останавливает все, что он делает, и затем переходит на следующую строку кода.Как я могу сделать это в Java?
Большое спасибо.