티스토리 뷰

Stream이란?

실제의 입력이나 출력이 표현된 데이터의 이상화된 흐름을 의미한다.

즉, 스트림은 운영체제에 의해 생성되는 가상의 연결 고리를 의미하며, 중간 매개자 역할을 한다!

출처 : http://www.tcpschool.com/java/java_io_stream

자바에서는 바이트 기반 스트림문자 기반 스트림 두개로 나뉜다.

그리고 바이트 기반 스트림과 문자 기반 스트림은 각각

스트림을 실제로 읽고 쓰는 기반 스트림

기반스트림이 읽어온 데이터를 처리하는 보조스트림 으로 나뉜다.

보조스트림은 생성자로 기반스트림을 받아서 실제 데이터를 읽어온다.

바이트 기반 스트림

1Byte단위로 입출력을 한다.

입력에서는 InputStream 클래스, 출력에서는 OutputStream이 있다.

모든 바이트 기반 스트림은 InputStream과 OutputStream의 하위 클래스이다.

 

기반 스트림

입력 스트림 출력 스트림
FileInputStream FileOutputStream
ByteArrayInputStream ByteArrayOutputStream
PipedInputStream PipedOutputStream
AudioInputStream AudioOutputStream

보조 스트림

입력 스트림 출력 스트림
FilterInputStream FilterOutputStream
BufferedInputStream BufferedOutputStream
DataInputStream DataOutputStream
ObjcectInputStream ObjectOutputStream
SequenceInputStream  
PushbackInputStream  
  PrintStream

문자 기반 스트림

바이트 기반 스트림에서는 기본적으로 1Byte씩 다루기 때문에 문자 같은 2Byte를 처리하기 힘들다. 

그래서 Reader, Writer 같은 문자 기반 스트림이 제공된다.

모든 문자 기반 스트림은 Reader, Writer의 하위 클래스이다.

 

기반 스트림

입력 스트림 출력 스트림
FileReader FileWriter
CharArrayReader CharArrayWriter
PipedReader PipedWriter
StringReader StringWriter

보조 스트림

입력 스트림 출력 스트림
FilterReader FilterWriter
BufferedReader BufferdWriter
PushbackReader  
  PrintWriter

 

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/09   »
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
29 30
글 보관함