티스토리 뷰

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

반응형

'BackEnd > Java' 카테고리의 다른 글

String(문자열)으로 Method(메소드) 호출  (0) 2018.08.10
HTTP 예외처리  (0) 2018.08.03
즉시로딩과 지연로딩, 컬렉션 래퍼  (0) 2018.07.19
Java의 다형성  (0) 2018.07.18
Java Collection Framework  (0) 2018.07.17
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함