* 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 |