본문 바로가기

Software Development

JAVA - FileInputStream FileReader 차이점.

FileInputStream과 FileReader를 통해 파일을 애플리케이션으로 간단하게 불러올 수 있다.

차이점이 있는데..
 
FileInputStream은 바이트단위로 처리를 하고, FileReader는 문자단위로 처리를 한다는 점.

하는일은 거의 비슷하지만...
FileInputStream은 InputStream을 상속받아 구현되고, FileReader는 InputStreamReader->Reader 클래스로부터 구현된다.

결론은.
InputStream은 바이트단위의 자료처리, Reader는 문자열단위의 자료처리를 위해 만들어진 클래스들이다.


fisTest.java

import java.io.*;

 

public class fisTest {

           public static void main(String [] args){

                     FileInputStream fis = null;

 

                     byte [] b = new byte[10];

 

                     try{

                                fis = new FileInputStream("r.txt");     

                                fis.read(b);

                                System.out.println(new String(b));

 

                     }catch(Exception e){

                                e.printStackTrace();

                     }

           }

}


frTest.java

import java.io.*;

 

public class frTest {

           public static void main(String [] args){

                     FileReader fr = null;

                    

                     char [] c = new char[10];

                    

                     try{

                                fr = new FileReader("r.txt");

                                fr.read(c);

                                System.out.println(new String(c));

                               

                     }catch(Exception e){

                                e.printStackTrace();

                     }

           }

}

 


읽어와서 애플리케이션에서 파일 데이터를 받을때 byte, char의 구분만 있을뿐이지 기능은 거의 같다.