티스토리 뷰

개념

JAVA 프로그램에서 데이터를 읽고 쓰는 작업을 할 때 스트림이 필요합니다. 스트림은 단방향으로만 작동하며 마우스, 키보드, 파일 등 입력장치에서 읽어들이는것을 input stream 모니터, 파일 등 출력할때는 output stream을 이용합니다.

JAVA IO stream은 크게 Byte 스트림 클래스와 Character(문자) 스트림 클래스로 나뉩니다.

 

 

ByteIOStream의 특징

  • ByteIOStream의 기본 단위는 Byte
  • 단방향 구조를 가지고 있음
  • FIFO 구조

 

inputStream : 입력장치로부터 자바 프로그램으로 데이터를 전달하는 software module

outputStream : 자바프로그램에서 출력장치로 데이터를 전달하는 software moduel

 

Byte IO stream

입출력되는 데이터를 단순 바이트의 스트림으로 처리합니다.

ex)바이너리 파일을 읽는 입력 스트림

InputStream 자식클래스는 모두 InputStream을 마지막에 붙이고있습니다.

OutputStream 자식클래스는 모두 OutputStream을 마지막에 붙이고있습니다.

 

System.out.println() 메소드는 OutputStream 하위클래스중 PrintStream클래스의 메소드를 이용한 것입니다.

FileInputStream

파일을 입출력 할 때 사용합니다.

 

ByteArrayInputStream

배열을 입출력 할 때 사용합니다.(배열은 메모리에 있으니 메모리 입출력해야함)

 

PipeInputStream

프로세스에서 데이터를 입출력 할 때 사용합니다.

 

StringBufferInputStream

버퍼를 이용하여 입출력합니다.

 

character IO stream

문자를 입출력하는 스트림입니다. 문자가 아닌 binary 데이터는 character stream에서 처리 할 수 없습니다.

ex)텍스트 파일을 읽는 입력 스트림

Reader

문자를 입력받고자 할 때 사용합니다.

하위클래스는 모두 Reader가 붙어있습니다.

 

Writer

문자를 출력 하고자 할 때 사용합니다.

하위클래스는 모두 Writer가 붙어있습니다. (딱하나 예외 OutputStreamReader만 다름)

OutputStreamReader 는 하위 클래스로 FileWriter라는 하위 클래스를 가지고있습니다.

 

Reader, Writer 모두 추상클래스로 하위클래스에서 구현됩니다.

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함