![article thumbnail image](https://blog.kakaocdn.net/dn/bgRkEi/btrQFwghM1K/dtlkk4MQPrI0CkpK7RI200/img.png)
"문자 기반 스트림"
- 문자스트림: 데이터를 2바이트 단위로 전송할 수 있는 넓은 통로
- 기반스트림: 외부매체와 직접적으로 연결되는 통로
* xxxReader : 입력용 스트림
* xxxWriter : 출력용 스트림
1. 프로그램 ---> 파일 (출력 )
//FileWriter(파일로 데이터를 2바이트 단위로 출력할 수 있는 스트림
public void fileSave() {
FileWriter fw = null;
try {
//1. fileWriter 생성(통로 연결)
fw = new FileWriter("b_char.txt");
//2. 데이터 출력(write 메소드)
// 2byte단위로 데이터 전송
fw.write("와! IO재밌다..ㅎ");
fw.write(' ');
fw.write('A');
fw.write("\n");
char[] arr = {'a','p','p','l','e'};
fw.write(arr);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
//3. 스트림 반납
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
>>출력 결과
2. 프로그램 <--- 파일 (입력)
//FileReader : 파일로부터 데이터를 2바이트 단위로 입력받을 수 있는 스트림
public void fileRead() {
FileReader fr = null;
try {
//1. FileReader객체 생성( 파일과의 연결통로생성)
fr = new FileReader("b_char.txt");
//2. read 메소드 이용해서 데이터 입력받아오기(정수값)
// => 파일의 끝을 만나면 -1을 반환
int value = 0;
while((value= fr.read())!= -1) {
System.out.print((char)value);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
//3.스트림 반납
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
'JAVA' 카테고리의 다른 글
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 |
11.Exception_ CheckedException (0) | 2022.11.07 |