Java - IO파일 입출력(1)p.651

이정규 (가지마)·2023년 3월 15일

스트림(stream)

입출력 스트림의 종류

입출력스트림

바이트스트림

       - 바이트스트림  -입력 바이트 스트림  --8비트 단위로 입출력한다.
                     -출력 바이트 스트림

문자스트림

        - 문자스트림   입력 문자 스트립(Reader) -16비트 단위로 입출력한다.
        - 출력문자스트림 (Writer)
        
        

바이트스트림(byte stream)은

바이트 단위(8비트)로 입출력하는 기본적인 클래스들이며, 주로 이진 데이터를 읽고 쓰기 위하여 사용된다.

모든 바이트스트림 클래스들은 추상 클래스인 InputStream 과 OutputStream에서 상속된다.
바이트스트림 클래스 이름에는 InputStream(입력) 과 OutputStream(출력)이 붙는다.

문자 스트림(character stream)은

문자 단위로 입출력하는 클래스이다. 문자 스트림 클래스 이름에는 Reader(입력)와 Writer(출력)이 붙는다.

둘의 사용용도?

바이트스트림(byte stream)은 이미지나 압축 파일처럼 이진 파일에서 데이터를 입출력할 때는 바이트 스트림을 이용.

문자 스트림(character stream)은 텍스트 파일에서 읽을때는 문자 스트림을 이용

이진파일일때는 : FileInputStream과 FileOutputStream을 이용한다.

텍스트파일일때는 : FileReader와 FileWriter를 사용 한다.

문자스트림

:입출력 단위가 문자이다.

모든 문자 스트림 클래스는 Reader와 Writer 클래스로부터 상속된다. 모든 문자 스트림은 Reader와 Writer로부터 파생된다.

스트림생성하기

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

기본 입출력 메소드는 read()와 write()이다.

int ch;
while((ch=fr.read()!=-1)
System.out.println((char) ch+" ");

여기서 주의할점은 read()가 int 타입을 반환한다는 점이다.반환형을 int형으로 하면 파일의 끝을 나타내는 -1은 0xFFFFFFFFF이고 파일에 있는 0XFFFF은 0X0000FFFF로 반환되므로 서로 구별할수 있는 것이다.

스트림 닫기

fr.close()

profile
"꾸준함이 답이다."

0개의 댓글