:Ctrl + d를 누른 경우 표준 입력으로 테스트 할 수 있습니까? 나는 다음과 같은 루프를 사용하여 표준 입력에서 읽고 있어요
Scanner stdin = new Scanner(System.in);
while (stdin.hasNextLine() && stdin.nextLine() != null) {
String line = stdin.nextLine();
if (!(line.contains("#"))) {
input.add(line);
}
if (line.contentEquals("q")) {
break;
}
}
지금 이것은 단순히 q
하고 Enter 키를 누릅니다 경우 사용자가 Ctrl + d
를 누를 때, 그러나 나는 프로그램을 종료하기로되어있어 입력 종료하기 쉽습니다 새 줄에. 나는 이것을 누를 때 Ctrl + d
을 눌러도 아무 일도 일어나지 않습니다.
while 조건을 while (stdin.next()! = null)으로 변경하면 'Ctrl + d'에 'NoSuchElementException' 예외가 발생합니다. – Alk
표준에서 읽기 위해 사용할 수있는 다른 방법이 있습니까? 스캐너 대신 입력 하시겠습니까? – Alk
그래서 기본적으로 그 예외를 잡아야하고 모든 입력이 공급되었을 때 그것을 가정해야합니까? – Alk