Programming/Java
Java 입출력 BufferedReader, BufferedWriter
whitele
2021. 5. 15. 16:35
반응형
BufferedReader
Scanner가 등장하기이전에는 BufferedReader를 사용했습니다. Scanner보다 기능이 한정적이고 코딩에도 Scanner보다는 번거롭기 때문입니다. 그런데 아직도 지금도 사용하는 이유에는 속도 때문입니다.
Buffered Reader 사용
import java.io.*;
public class Main{
public static void main(String args[]) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str=br.readLine();
}
}
import java.io.*;
throws IOException을 꼭 포함해야합니다.
throws IOException은 IOException에 대한 예외처리를 하지 않으며 IOException에 대한 처리를 준비해야한다는 선언입니다.
BufferedReader를 사용하면 기본적으로 문자열로 받기 때문에 int형등 다른 자료형으로 사용해야 할 때 변환이 필요합니다.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int i = Integer.parseInt(br.readLine());
Buffered Writer
buffered Writer역시 buffer를 사용하는 점에 있어서 Bufffered Reader와 크게 다르지않습니다. 사실 주로 사용하던 System.in.print("내용");과 크게 속도 차이는 없지만 문자열의 크기에 따라서 Buffered Writer를 사용하는 것이 유리할 수도 있습니다.
BufferedWriter 사용
import java.io.*;
public class bf{
public static void main(String[] args) throws IOException{
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
int n=Integer.parseInt(br.readLine());
bw.write(n.toString());
bw.flush();
bw.close();
}
}
bw.write를 통해 buffer에 저장하고 그후 bw.flush를 입력하여 버퍼에 있는 내용들을 출력해야합니다.
그리고 bw.close 로 반드시 스트림을 닫아줘야 합니다.
728x90
반응형