본문으로 바로가기

BufferedReader, BufferedWriter 사용법

category 카테고리 없음 2019. 8. 22. 11:47

알고리즘 문제를 풀다보면 Scanner로 인한 입력으로 인해 시간초과가 발생하는 경우가 있다.

BufferReader와 BufferedWriter를 통해 빠른 입출력을 받는 방법을 알아보았다.

 

 

*BufferedReader

Scanner는 단순히 한줄짜리 선언에, nextInt(); 를 통해 알아서 다음 공백 공백을 입력받기 때문에 어려움 없이 사용할 수 있지만, 많은 량의 데이터를 입력받을때는 BufferedReader를 사용하는 것이 시간을 절약할 수 있다.

따라서 StringTokenizer를 이용해야한다.

또 기본적으로 String형으로 반환되기 때문에 ParseInt 를 이용해야 한다.

 

#IOException 필수로 예외처리 해줘야한다.

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());

Int N = Integer.ParseInt(st.nextToken());

 

*BufferedWriter

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

 

bw.write("안녕! \n");     출력 후,

 

bw.flush();

bw.close();

 

flush와 close를 써주지 않으면 출력오류가 발생할 가능성이 있다.