[자바(JAVA)] BufferedReader & BufferedWriter
버퍼(Buffer)
데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 일시적으로 메모리를 보관하는 임시 메모리 영역. I/O 접근 빈도가 적어서 성능이 Scanner에 비해서 좋다.
BufferedReader
- 사용자로부터 데이터를 받을 때는 객체를 생성하여 입력을 받는다.
- Enter를 쳐야 입력의 마지막으로 인식한다.
- 예외처리를 반드시 해줘야한다! (try/catch 혹은 throws IOException)
- readLine의 return값은 String값이다. 다른 타입으로 받으려면 형변환 필요함!
BufferReader 변수명 = new BufferReader(new InputStreamReader(System.in));
String s = 변수명.readLine();
[ex]
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이 아닌 타입으로 입력을 받으려면 형변환 해줘야함!
System.out.println(s);
}
BufferedWriter
- flush()를 호출해서 남은 데이터를 호출해줘야한다.
- close() 를 호출해서 닫아주어야한다.
- 자동개행이 없어서
\n
을 통해서 개행을 해야한다.
BufferWriter 변수명 = new BufferWriter(new OutputStreamWriter(System.out));
[ex]
public static void main(String[] args) throws IOException {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String h = "Hello";
String w = "World";
bw.write(h+"\n"+w);
bw.flush();
bw.close();
}
출력 결과