본문 바로가기
수업(국비지원)/Java

[Java] chap14 : IO기반 입출력 - FileReader 클래스

by byeolsub 2023. 4. 17.
  • FileReader
FileReader 예제 : 파일에서 text데이터를 읽기 위한 클래스. 이미지 파일은 읽을 수 없다.
  
  주요 메서드
    int read()
          : 1 byte씩 내용을 읽어 리턴
    int read(char[] buf)
          : buf의 크기만큼 읽어서 buf 변수에 저장. 실제로 읽은 바이트수를 리턴
            가장 많이 쓰이는 방식
    int read(char[] buf, int start, int len)
          : buf의 len만큼 읽어서 buf 변수에 start 인덱스부터 저장.
            실제 읽은 바이트 수 리턴 

 

📌

package chap14;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class FileReaderEx1 {
	public static void main(String[] args) throws IOException {
		String src = "src/chap14/InputStreamEx1.java";
		int data = 0;
		System.out.println("1. int read() 메서드로 읽기 =============");
		FileReader fr = new FileReader(src);
		while((data = fr.read()) != -1) {
			System.out.print((char)data);
		}
		fr.close();
		System.out.println();
		char[] buf = new char[1040];
		System.out.println("2. int read(char[] buf) 메서드로 읽기 =============");
		fr = new FileReader(src);
		while((data = fr.read(buf)) != -1) {
			System.out.print(new String(buf,0,data));
		}
		fr.close();
		System.out.println();
		System.out.println("3. int read(char[] buf, int start, int len) 메서드로 읽기 =============");
		fr = new FileReader(src);
		while((data = fr.read(buf,0,buf.length)) != -1) {
			System.out.print(new String(buf,0,data));
		}
	}
}