* Stream

   - 데이터를 운반하는데 사용되는 연결 통로

 

* Byte 기반 Stream

   - FileInputStream, FileOutputStream

   - ByteArrayInputStream, ByteArrayOutputStream

   - PipedInputStream, PipedOutputStream

   - StringBufferInputStream, StringBufferOutputStream

 

* Character 기반 Stream

   - FileReader, FileWriter

   - CharArrayReader, CharArrayWriter

   - PipedReader, PipedWriter

   - StringReader, StringWriter

 

* 보조 Stream

   - 실제 I/O 기능은 없지만 성능을 향상시키거나 새로운 기능을 추가할 수 있다

 

* Byte 기반 보조 Stream

   - BufferedInputStream, BufferedOutputStream

   - FilterInputStream, FilterOutputStream

   - SequenceInputStream

   - PrintStream

   - PushbackInputStream

 

* Character 기반 보조 Stream

   - BufferedReader, BufferedWriter

   - FilterReader, FilterWriter

   - PrintWriter

   - PushbackReader

 


< Byte 기반 Stream >

 

* InputStream, OutputStream

   - Byte 기반 Stream 의 조상

   - close() 호출을 통해 사용 후에 닫아줘야 됨

     (ByteArrayInputStream 과 같이 메모리를 사용하는 스트림과 System.in/out과 같은 표준 입출력 스트림은 필요 없음)

 

* FilterInputStream

   - 여러 종류의 유용한 Input Stream 의 Parent Class

 

* ByteArrayInputStream, ByteArrayOutputStream

   - ByteArray 에 입출력을 위한 스트림

   - close() 가 필요없다 (메모리만 사용하기 때문에 GC에 의해 자동으로 닫힌다)

 

* FileInputStream, FileOutputStream

   - 이미지와 같은 바이너리 기반의 File 처리 시 사용

 

* ObjectInputStream, ObjectOutputStream

   - 객체를 I/O 하기 위한 Stream

 

* BufferedInputStream, BufferedOutputStream (보조)

   - I/O 효율 향상을 위해 Buffer(ByteArray)를 사용

 

* DataInputStream, DataOutputStream (보조)

   - 8가지 기본 자료형의 단위로 I/O를 수행

 

* SequenceInputStream (보조)

   - 각각 별개인 여러 개의 InputStream 을 연속적으로 연결해서 하나의 Stream으로부터 데이터를 읽는 것처럼 처리

 

* PrintStream (보조)

   - 데이터를 기반 Stream에 다양한 형태로 출력

   - System.out, System.err

 


< Character 기반 Stream >

 

* Reader, Writer

   - Character 기반 스트림의 조상

   - Byte Array 대신 Char Array  사용

 

* FilterReader, FilterWriter

   - 문자열 기반의 stream 을 처리하기 위한 Abstract Class

 

* CharArrayReader, CharArrayWriter

   - char 배열로 된 문자 배열을 처리

 

* FileReader, FileWriter

   - File로부터 Text 데이터 I/O에 사용

 

* PipedReader, PipedWriter

   - Thread 간 데이터를 주고 받을 때 사용

 

* StringReader, StringWriter

   - StringBuffer를 이용해 I/O 수행

 

* BufferedReader, BufferedWriter (보조)

   - 문자열 입력 Stream을 Buffer를 이용해 I/O 수행

   - FileReader 보다 빠르다

 

* InputStreamReader, OutputStreamReader (보조)

   - Byte 기반 스트림을 Charater 기반 스트림으로 연결

 

'SW > ::: Java' 카테고리의 다른 글

HotSpot VM  (0) 2020.10.10
Java GC 및 Memory 설정  (0) 2020.10.10
JVM (시작, 종료, 예외처리, 동기화)  (0) 2020.10.09
Thread (쓰레드)  (0) 2020.10.09
Collections (List, Set, Queue, Map)  (0) 2020.10.05

+ Recent posts