* 보조 스트림 == 기반스트림의 부족한 성능을 보다 향상시켜주는 역할
보조스트림 단독 사용 불가(반드시 기반스트림과 함께 사용)
* BufferedXXXXXXX: 속도를 향상 시킨다거나 기반 스트림에서 제공하지 않는 메소드들을 제공
1. 프로그램 --> 파일(출력)
// FileWriter : 파일과 직접적으로 연결해서 2byte단위로 출력할 수 있는 기반 스트림
// BufferedWriter : 버퍼라는 공간을 제공해주는 보조스트림(보조스트림은 기반스트림과 동일한 이름으로) - 속도향상
//try~ with~ resource 구문 사용 -> finally 구문 쓰지않아도 자동 스트림 반납됨
public void fileSave() {
/* try~with~resource 구문을 이용하면 자원반납까지 자동으로 진행(jdk7버전 이상부터 가능)
* try( try블럭 내에서 사용할 스트링 객체 생성구문; 생성구문..){
*
* }catch(예외클래스 e){
*
* }
*/
try(BufferedWriter bw = new BufferedWriter(new FileWriter("c_buffer.txt"))){
bw.write("안녕하세요\n");
bw.write("반갑습니다");
bw.newLine();
bw.write("저리가세요");
} catch (IOException e) {
e.printStackTrace();
}
}
2. 프로그램 <--- 파일 (입력)
//FileReader
//BufferedReader
public void fileRead() {
try(BufferedReader br = new BufferedReader(new FileReader("c_buffer.txt"))){
// readLine() : 한줄씩 읽어들이는 메소드
/*
System.out.println(br.readLine());
System.out.println(br.readLine());
System.out.println(br.readLine());
System.out.println(br.readLine()); // 파일의 끝을 만나는 순간 "null"을 반환
System.out.println(br.readLine());
*/
//반복문 이용
String str = null;
while((str=br.readLine()) != null) {
System.out.println(str);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
'JAVA' 카테고리의 다른 글
12. IO (IntputOutput) _객체 배열 입출력 (0) | 2022.11.08 |
---|---|
12. IO (IntputOutput) _객체 입출력 (ObjectDao) (0) | 2022.11.08 |
12. IO (IntputOutput) _문자기반 Stream (0) | 2022.11.08 |
12. IO (IntputOutput) _바이트기반Stream (0) | 2022.11.07 |
12. IO (IntputOutput) _ file생성 (0) | 2022.11.07 |