바이트 단위가 아닌 문자(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();
				}
	}

}