최대 1 분 소요


EOFException 이란?

EOFException은 Java에서 파일의 끝(End of File)에 도달했을 때 발생하는 예외

  • Java에서 BufferedReader.readLine()은 EOF(입력 종료)에 도달하면 null을 반환
  • 이를 활용해 입력 개수가 주어지지 않은 문제도 해결 가능


예시

백준 10820번

입력 개수가 정해져 있지 않고, 파일 끝(EOF) 까지 문자열을 계속 받아 처리해야 함

https://www.acmicpc.net/problem/10820

입력: 22

String line;

while ((line = br.readLine()) != null) {
	// 로직
}
  • br.readLine()이 문자열을 한 줄씩 읽음
  • 더 이상 읽을 줄이 없으면 null을 반환 -> while 종료


백준 5671번

입력은 여러 줄로 주어지며, 각 줄은 두 개의 숫자 n, m을 가짐

https://www.acmicpc.net/problem/5671

입력:

22 44
35 36
String line;

while ((line = br.readLine()) != null) {
    StringTokenizer st = new StringTokenizer(line); // 공백 기준 입력


    // 로직
}

한 줄을 통째로 읽은 뒤 StringTokenizer로 공백 기준 분리


카테고리:

업데이트:

댓글남기기