Algorithm
자바 BufferedReader, BufferedWriter, InputStreamReader, OutputStreamWriter, StringTokenizer
ZEROMI
2021. 11. 25. 17:21
728x90
백준알고리즘 15552
BufferedReader, BufferedWriter
데이터가 바로 전달되지 않고 버퍼를 거쳐 전달되므로 데이터 처리 효율이 높다. 대량의 데이터를 처리할 때 유용함.
BufferedReader
Scanner의 역할
LeadLine메서드만 활용해 데이터 타입이 String으로 고정되기 때문에 다른형으로 사용할 경우 형변환 작업이 필요하다.
예외처리가 필수다.
Bufferedwriter
System.out.println의 역할
BufferedWriter.flush는 맨 마지막에 한 번만 사용하면 된다.
StringTokenizer
1. public StringTokenizer(String str) : 전달된 매개변수 str을 default delimiter(공백문자:\t, \n, \r)로 분리
2. public StringTokenizer(String str,String delim) : 두번째 전달된 매개변수 delim으로 문자열 분리
3. public StringTokenizer(String str,String delim,boolean returnDelims) : str을 분리시킬 때 delim까지 토큰으로 포함시킬지 여부를 결정(true=포함, false=불포함)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.IOException;
import java.lang.Integer;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int num;// = 100;
while (true) {
num = Integer.parseInt(bf.readLine());
if (num < 1000001) {
break;
}
}
for (int i = 0; i < num; i++) {
String ab = bf.readLine();
StringTokenizer st = new StringTokenizer(ab);
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
bw.write((a + b) + "\n");
}
bw.flush();
bw.close();
}
}
728x90