바이트 단위가 아닌 문자(char) 단위 입출력이다.
바이트 단위 입력시(FileInputStream) 한글과 같이 1바이트 스트림을 읽을 수 없는 문제 발생
전송 단위가 다르다.
package com.java.io07_filereaderwriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class FileReader01 {
public static void main(String[] args) {
// 입출력 > 문자(char) 단위 입출력:
// Reader > FileReader
//용도
//Byte 단위 입출력:파일,이미지,오디오,비디오 처리
//char : 코드 파일,html, 로그.. 등 문자 단위로 처리할때
String path = "C:\\\\FileTest\\\\dir1\\\\test01.txt";
// 1.FileReader 객체
FileReader fr = null;
//동작과정
//내부적으로 FileReader는 inputStreamReader(바이트 ->문자로 디코딩)
try {
fr = new FileReader(path);
//2.읽기 작업
//바이트 배열을 만들지 않는다.
// while ((count = (is02.read(buffer))) != -1) {// 9바이트씩 나눠서 파일 끝까지 데이터 가져옴
// // 버퍼에 있는 값출력(배열)
// for (int i = 0; i < count; i++)
// System.out.print((char) buffer[i]);
// }
while(true) {
int read = fr.read();
if(read==-1) break;
System.out.print((char)read);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//3.종료 작업
try {
if(fr !=null)
fr.close();
}catch(IOException e) {
e.printStackTrace();
}
}
}