Java
Java - 자바 입출력 버퍼에 대해
마루설아
2025. 7. 2. 22:57
자바 알고리즘 문제를 풀때 시간초과를 방지하고자
입출력 속도를 높여주는 방법에 대한 정보
package mypackage;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Scanner;
import java.util.StringTokenizer;
public class Test {
public static void main(String Args[]) throws IOException {
/* 일반적인 입출력 방법 */
Scanner scan = new Scanner(System.in);
int num1 = scan.nextInt();
String str1 = scan.next();
System.out.println(num1);
System.out.println(str1);
/* 입출력 속도를 빠르게 */
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
// 한 줄 입력
String read = br.readLine();
// 공백을 기준으로 문자열 분할
StringTokenizer st = new StringTokenizer(read);
// 분할된 각 문자열을 파싱
String s1 = st.nextToken();
String s2 = st.nextToken();
int n1 = Integer.parseInt(st.nextToken());
// 출력 (write는 공백이 없기 때문에 \n 추가)
bw.write(s1 + "\n");
bw.write(s2 + "\n");
bw.write(n1 + "\n");
scan.close();
bw.flush();
bw.close();
}
}
일반적으로 많이 쓰는 Scanner보다
BufferReader, BufferWriter, StringTokenizer를 활용하여 입출력 속도를 올릴 수 있다.