본문 바로가기
Programming/Java

[Java] BufferedReader와 BufferedWriter

by hongchii 2021. 2. 28.
728x90
반응형

BufferedReader와 BufferedWriter

버퍼를 이용해서 입출력 하는 메소드

 

버퍼란 무엇인가?

:  쉽게 말해 임시저장 공간이다.

 

 

출처,https://jhnyang.tistory.com/92

 

 

 

1. BufferedReader

 

Scanner를 통해 입력을 받을경우 Space Enter를 모두 경계로 인식하기에 데이터로 가공하기 편리하지만,
BufferedReader는 Enter만 경계로 인식하고 받은 데이터가 String으로 고정된다.
Scanner에 비해 사용이 불편하지만, 많은 양의 데이터를 입력받을때 효율적이다.

 

BufferedReader 사용법

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class Test{
    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String s = bf.readLine();
        int i = Integer.parseInt(s);
        
    }

 

주의 할 점

1. readLine() 리턴값은 String으로 고정!!! (다른타입으로 입력을 받을려면 형변환 필요)


2. 예외처리 필수!! (try & catch를 활용하여 예외처리 가능하지만 보통 throws IOException을 통하여 예외처리한다.)

 

 

 

2. BufferedWriter

많은 양의 데이터를 출력할 때 효율적

 

BufferedWriter 사용법

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));//선언
String s = "abcdefg";//출력할 문자열
bw.write(s+"\n");//출력
bw.flush();//남아있는 데이터를 모두 출력시킴
bw.close();//스트림을 닫음

주의 할 점

BufferedWriter의 경우 반드시 flush() / close() 를 호출해 닫아주어야 한다.
자동 개행이 없기 때문에 \n 을 통해 개행을 해야 한다.

 

 

 

 

 

 

참고.

machine-geon.tistory.com/79

 

[Java] BufferedReader, BufferedWriter를 활용한 빠른 입출력

BufferedReader Scanner : 통해 입력을 받을경우 Space Enter를 모두 경계로 인식. BufferedReader : Enter만 경계로 인식, 받은 데이터가 String으로 고정. Scanner에 비해 다소 사용하기 불편하지만 많은 양의..

machine-geon.tistory.com

jhnyang.tistory.com/92

 

[Java 자바 입출력] BufferedReader/BufferedWriter

[자바 입출력 함수] BufferedReader / BufferWriter BufferedReader/BufferedWriter은 이름처럼 버퍼를 이용해서 읽고 쓰는 함수입니다. 이 함수는 버퍼를 이용하기 때문에 이 함수를 이용하면 입출력의 효율이..

jhnyang.tistory.com

 

728x90
반응형

'Programming > Java' 카테고리의 다른 글

[Java] StringBuffer와 StringBuilder  (0) 2021.03.01
[Java] StringTokenizer  (0) 2021.02.28
[Java] String 배열  (0) 2021.02.27
[Java] 배열 - 값 카운트하기  (0) 2021.02.26
[Java] 배열 - 크기별로 정렬하기  (0) 2021.02.26

댓글