Java 에서 빠른 입출력 하는 방법
Java 에서 빠른 입출력 하는 방법

Java 에서 빠른 입출력 하는 방법

생성일
2024년 07월 04일
태그
자바
IO
요약
BufferedReader 와 BufferedWriter 를 사용하여 더 빠른 입출력을 해보자.
 

필요한 import 들

  • java.io.BufferedReader
  • java.io.BufferedWriter
  • java.io.InputStreamReader
  • java.io.OutputStreamWriter
  • java.util.StringTokenizer (선택)
 

코드 예제

notion image
(백준 - 빠른 A+B 문제)

설명

 
BufferedReader br = new BufferReader(new InputStreamReader(System.in));
BufferedReader 를 새로 생성한다. (입력)
 
BufferWriter wr = new BufferedWriter(new OutputStreamWriter(System.out));
BufferedWriter 를 새로 생성한다. (출력)
 
String s = br.readLine();
br 에 저장된 값 중 현재 행을 s에 저장한다.
(Scanner 와 달리 엔터로만 구분된다.)
 
bw.write(s);
s 에 저장된 값을 출력한다.
(sysout 보다 빠르다)
 
StringTokenizer st = new StringTokenizer(br.readLine()); String s = st.nextToken();
StringTokenizer 를 생성하고 br에 저장된 다음 행을 담는다.
변수 s 에는 다음 토큰(스페이스, 탭으로 구분)에 저장된 값을 담는다.
 

결과

notion image
 
 
시도1 BufferedWriter 를 사용하지 않아 시간 초과.
시도2 BufferedWriter 적용 후 bw.close() 사용하여 시간 통과.
시도3 bw.flush() 까지 적용하여 소요시간 더 단축 성공.