1. FileInputStream이란?

2. FileReader

BufferedReader bf = new BufferedReader(new FileReader("src/main/resources/test.md");

String line = "";

while((line = bf.readLine()) != null){
		System.out.println(line);
}

//출력 -> 한 줄씩 읽어와 2번만에 출력한다.
Hello World!
Hi!

예시 파일

package store;

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

public class Application {
    public static void main(String[] args) throws IOException {
        // TODO: 프로그램 구현

        String filePath = "src/main/resources/test.md";

        //FileInputStream .read()를 사용하여 한 글자씩 출력
        FileInputStream fis = new FileInputStream(filePath);

        int data = 0;
        while((data = fis.read()) != -1) {
            System.out.println((char)data);
        }

        //FileInputStream .read(byte[] b, int off, int len)을 이용하여 전부 가져와 한 번에 처리
        fis = new FileInputStream(filePath);

        byte[] buf = new byte[fis.available()];

        while((data = fis.read(buf,0,buf.length) )!= -1) { //fis.read(buf)와 같다.
            System.out.println(new String(buf, 0, data));
        }
        fis.close();

        //FileReader를 사용하여 문자 단위로 처리받아 사용한다.
        BufferedReader bis = new BufferedReader(new FileReader(filePath));

        String line = "";

        while((line =bis.readLine()) != null){
            System.out.println(line);
        }

    }
}