BackEnd/Java
java bufferedreader BufferedWriter
철철22
2018. 7. 20. 12:00
반응형
Java를 처음 공부하면 책에서 입출력을 받기위해 소개하는 클래스가 있다.
바로 Scanner이다
Scanner scan = new Scanner(System.in)
int a = scan.nextInt();
String a = scan.next();
하지만 Scanner에는 문제가 하나 있다.
입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다.
이러한 해결을 하기위한 방법이 이 글에 적혀있다.
Java에서는
Scanner
와 System.out.println
대신 BufferedReader
와 BufferedWriter
를 사용할 수 있다.
BufferedWriter.flush
는 맨 마지막에 한 번만 하면 된다.
BufferedWriter 외에도, StringBuilder로 출력을 모아 놓았다가 그 String을 System.out.println하는 방법도 있다.
BufferedReader/BufferedWriter는 Buffer에 있는 IO 클래스이다.
BufferedReader의 경우에는 한 줄씩 읽어 들이는 readLine() 메소드가 있기 때
문에 한 줄씩 읽어들이기에 매우 편리
BufferedWriter의 경우 버퍼가 있기 때문에 반드시 flush() 메소드를 이용하거나 close() 메소드를 호출해야한다.
BufferedReader bur = new BufferedReader( new InputStreamReader( System.in ) );
BufferedWriter buw = new BufferedWriter( new OutputStreamWriter( System.out ) );
BufferedReader 문서 BufferedWriter 문서 에는 각각 사용할 수 있는 메소드가 적혀있다.
http://snacky.tistory.com/10
http://wiki.gurubee.net/display/SWDEV/BufferedReader%2C+BufferedWriter
반응형