보통 java에서 입출력을 위해 Scanner과 System.out 을 사용했는데,
속도 측면에서 BufferedReader와 StringBuilder나 BufferedWriter를 사용하는 것이 좋다고 해서 방법을 익혀두려고 한다 !
(입력된 데이터가 바로 전달되지 않고 버퍼를 거져 전달되므로 데이터 처리 효율성을 높임)
✔️ BufferedReader는 Enter만 경계로 인식, 받은 데이터 String으로 고정 ➡️ 입력받은 데이터 가공해야함
import java.io.*;
import java.util.*;
public static void main(String args[]) throws IOException { } // 예외처리 필요
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 선언
String s = br.readLine();
int i = Integer.parseInt(br.readLine()); // String이 아닌 다른 타입의 경우 형변환
// Line 단위로만 나눠지기 때문에 공백단위 데이터를 가공하기 위해 StringTokenizer 사용
StringTokenizer st = new StringTokenizer(br.readLine(), " "); // 공백을 기준으로 구문 끊기
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String s = "abcdef"; // 출력할 문자열
bw.write(s+"\n"); // 버퍼에 있는 값 전체 출력
bw.flush(); // 남아있는 데이터 모두 출력
bw.close();
반응형