고래씌
[JAVA] 13-2. 입출력(IO) (File 클래스 ②) 본문
1. FileWriter
프로그램 ---> 외부매체(파일)
- FileWriter : 파일로 데이터를 2byte단위로 출력하는 스트림
- 참조변수 = new FileWriter(변수, true) => 이어쓰기
package com.kh.chap03_char.model.dao;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileCharDao {
// 프로그램 ---> 외부매체(파일)
public void fileSave() {
// FileWriter : 파일로 데이터를 2byte단위로 출력하는 스트림
FileWriter fw = null;
try {
fw = new FileWriter("b_char.txt");
fw.write("ABCDE");
fw.write("이고래");
char [] cArr = {'a','p','p','l','e'};
fw.write(cArr);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fw.close(); // flush()함수 자동 호출
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
☞ fw.close() 를 주석처리하면 입력버퍼에는 들어가있지만 fw.close()를 해주지않으면 b_char.txt에는 내용이 안들어감
☞ fw.flush() 를 이용하면 스트림 내부에 잔존하는 데이터를 외부매체로 내보내기 할 수 있다. b_char.txt 에는 내용이 들어가게됨
package com.kh.chap03_char.model.dao;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileCharDao {
// 프로그램 ---> 외부매체(파일)
public void fileSave() {
// FileWriter : 파일로 데이터를 2byte단위로 출력하는 스트림
FileWriter fw = null;
try {
fw = new FileWriter("b_char.txt");
fw.write("ABCDE");
fw.write("이고래");
char [] cArr = {'a','p','p','l','e'};
fw.write(cArr);
fw.flush(); // 스트림내부에 잔존하는 데이터를 외부매체로 내보내기
} catch (IOException e) {
e.printStackTrace();
} // finally {
// try {
// fw.close(); // flush()함수 자동 호출
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
}
}
2. FileReader
프로그램 <--- 파일
- FileReader : 파일로부터 데이터를 2byte단위로 입력받는 스트림
public void fileRead() {
//FileReader : 파일로부터 데이터를 2byte단위로 입력받는 스트림
FileReader fr = null;
try {
fr = new FileReader("b_char.txt");
// System.out.println((char)fr.read());
// System.out.println(fr.read());
// System.out.println(fr.read());
int value = 0;
while((value = fr.read()) != -1) {
System.out.print((char) value);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
'JAVA > JAVA 기초' 카테고리의 다른 글
[JAVA] 13-3. 입출력(IO) (보조스트림) (0) | 2023.10.23 |
---|---|
[JAVA] 입출력 실습문제 (0) | 2023.10.23 |
[JAVA] 13-1. 입출력(IO) (File 클래스 ①) (0) | 2023.10.20 |
[JAVA] 예외처리 실습문제 (0) | 2023.10.20 |
[JAVA] 12-1. 예외처리(UncheckedException, CheckedException) (0) | 2023.10.20 |