보조 스트림
- 다른 스트림과 연결이 되어 여러 가지 편리한 기능을 제공해주는 스트림
- 자체적으로 입출력을 수행할 수 없기 때문에 입출력 소스와 바로 연결되는 InputStream, OutputStream, Reader, Writer 등에 연결해서 입출력을 수행한다.
- 문자 변환, 입출력 성능 햐상, 기본 타입 입출력 등의 기능을 제공한다.
문자 변환
- 소스 스트림이 바이트 기반 스트림(InputStream, OutputStream, FileInputStream, FileOutputStream)이면서 입출력 데이터가 문자라면 Reader와 Writer로 변환해서 사용하는 것을 고려할 수 있다.
- 그 이유는 문자 입출력은 Reader와 Writer가 편리하기 때문
- OutputStreamWriter는 Writer로 변환하는 보조 스트림이고, InputStreamReader는 Reader로 변환하는 보조 스트림이다.
성능 향상
- 기본적으로 출력 스트림은 내부에 작은 버퍼를 가지고 있다. 하지만 이것만으로는 불충분하다.
- 보조 스트림 중에서는 메모리 버퍼를 추가로 제공하여 프로그램의 실행 성능을 향상시키는 것들이 있다.
- 바이트 기반 스트림에서느 BufferedInputStream, BuffuredOutputStream이 있고 문자 기반 스트림에는 BuffuerdReader, BuffuredWriter가 있다.
기본 타입 입출력
- DataInputStream과 DataOutputStream 보조 스트림을 연결하면 기본타입인 boolean, char, short, int, long, float, double을 입출력할 수 있다.
개행 출력
- PrintStream/PrintWriter의 pringln() 메소드는 출력할 데이터 끝에 개행 문자인 '\n'을 추가한다.
- 그래서 출력 시 콘솔이나 파일에서 줄 바꿈이 일어난다.
'Coding > Java' 카테고리의 다른 글
[32] JAVA 입출력 스트림 (0) | 2022.12.28 |
---|---|
[31] JAVA LIFO와 FIFO 컬렉션 (0) | 2022.12.25 |
[30] JAVA 컬렉션 프레임워크 (0) | 2022.12.25 |
[29] JAVA 스레드 제어 (0) | 2022.12.21 |
[28] JAVA 멀티스레드 (0) | 2022.12.21 |