데이터 소스로부터 더 이상 읽을 수 있는 데이터가 없음을 나타내는 용어이다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while(scanner.hasNext()) {
System.out.println(scanner.nextLine());
}
}
}
Scanner 클래스는 hasNext()를 이용하면 된다는데
IntelliJ에서는 EOF를 찾지 못해 프로그램이 끝나지 않는다고 한다.
나도 IntelliJ에서 계속 시도해봤는데 안되길래 의아했다.
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String s = "";
while((s = br.readLine()) != null){
if(s.isEmpty()){
break;
}
bw.write(s);
}
bw.flush();
bw.close();
}
}
입력에 빈칸 즉, null이 들어오면
while반복문을 끝낸 뒤, 출력까지 끝내도록 코드를 작성했다.
참고 : https://steady-coding.tistory.com/227
참고 : https://gre-eny.tistory.com/307