Language
[Java] EOF(End of File)란?
Jintiago
2022. 3. 26. 19:16
EOF(End of File)란 더 이상 읽을 수 있는 데이터가 없음을 뜻한다.
데이터를 계속 입력 받다가 더 이상 입력되는 데이터가 없을 경우 프로그램의 실행을 중지해야 할 때 이를 어떻게 해결할 수 있을까?
EOF 처리 방식은 어떤 클래스로 데이터를 입력 받느냐에 따라 달라진다.
1. Scanner 클래스를 사용할 경우
hasNext() 메소드를 통해 데이터 입력이 멈추는 것을 식별할 수 있다.
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
System.out.println(sc.nextLine());
}
입력된 데이터가 없으면 while 문을 빠져나온다.
2. BufferedReader 클래스를 사용할 경우
이 경우 EOF 처리를 위한 메소드는 존재하지 않으므로 다음과 같이 처리한다.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input;
while ((input = br.readLine()) != null) {
// 로직 전개
}