BufferedReader, BufferedWriter는 버퍼를 사용하여 읽기와 쓰기를 수행하는 함수
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// BufferedReader를 통해 읽어온 데이터는 개행문자 단위로 나누어진다.
String s = br.readLine();
int i = Integer.parseInt(br.readLine());
// 공백 단위로 입력받기!!
// StringTokenizer
StringTokenizer st = new StringTokenizer(br.readLine());
int j = Integer.parseInt(st.nextToken());
// String.split()
String arr[] = s.split(" ");
}
입력은 readLine() 이라는 메소드를 사용한다. 이때 return 값이 String으로 고정되어 있다!
또한, 예외처리도 반드시 필요하다!
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[][] arr = new int[N][2];
StringTokenizer st;
for (int i = 0; i < N; i++) {
st = new StringTokenizer(br.readLine());
arr[i][0] = Integer.parseInt(st.nextToken());
arr[i][1] = Integer.parseInt(st.nextToken());
}
}
3
1 2
3 4
6 7
일반적으로, 출력을 할 때 System.out.println() 을 사용한다. 이는 적은 양의 출력에서는 편리하지만 많은 양의 출력에서는 버퍼를 사용하는 것이 좋다!
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
public static void main(String[] args) throws IOException {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
bw.write("Hello World!");
bw.newLine();
bw.flush();
bw.close();
}
write(char[] buf, int offset, int length) : 버퍼 offset 위치부터 length 크기 만큼 writenewLine() : 개행 문자 역할flush() : 스트림를 비움close() : 스트림을 닫음. 닫기 전 flush()