728x90
반응형
BufferedReader와 BufferedWriter
: 버퍼를 이용해서 입출력 하는 메소드
버퍼란 무엇인가?
: 쉽게 말해 임시저장 공간이다.
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 을 통해 개행을 해야 한다.
참고.
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 |
댓글