반응형
# BufferedReader / BufferedWriter
## BufferedReader
- 버퍼를 이용하여 읽고 쓰는 함수, 버퍼를 이용하기 때문에 입출력의 효율이 좋아진다.
- Scanner의 경우 띄어쓰기와 엔터를 경계로 인식하기 때문에 따로 가공 할 필요가 없어 사용이 편리하다.
- BufferedReader의 경우 엔터만 경계로 인식, 입력받은 데이터가 모두 String으로 고정되지만, Scanner에 비해 빠르다.
1. 콘솔로 입력 받는 경우
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String s = bf.readLine(); //String
int i = Integer.parseInt(bf.readLine()); //Int
bf.close();
2. 파일로 입력받는 경우
FileReader file = new FileReader("파일명.java");
BufferedReader bf = new BufferedReader(file);
## BufferedWriter
- BufferedWriter은 System.out.print("")과 동일하게 사용 가능한 함수이다.
BufferedWriter bf = new BufferedWriter(new FileWriter("BufferedWriter.txt"));
1. 출력
bf.write("출력할 내용");
2. 개행 ( newLine() or \n )
bf.newLine();
bf.write("출력내용\n");
3. 남은 데이터 모두 출력
bf.flush();
4. 스트림
bf.close();
## 사용 예제
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int num = Integer.parseInt(bf.readLine());
for ( int i = 0; i < num; i++ ) {
String temp = bf.readLine();
String[] arr = temp.split(" ");
int a = Integer.parseInt(arr[0]);
int b = Integer.parseInt(arr[1]);
bw.write((a+b) + "\n");
}
bw.flush();
bw.close();
}
}
반응형
'프로그래밍 > 자바, JDBC' 카테고리의 다른 글
자바에서 자주 발생하는 에러와 해결방법 (0) | 2021.09.23 |
---|---|
자바 scanner 관련 명령어 (0) | 2020.10.21 |
스프링 부트 스케줄러 적용방법 (0) | 2020.09.29 |
게시판 리스팅되는 시간 측정 방법 (0) | 2020.09.25 |
자바 크롤링 (0) | 2020.09.04 |