보조 스트림 

  • 다른 스트림과 연결이 되어 여러 가지 편리한 기능을 제공해주는 스트림
  • 자체적으로 입출력을 수행할 수 없기 때문에 입출력 소스와 바로 연결되는 InputStream, OutputStream, Reader, Writer 등에  연결해서 입출력을 수행한다.
  • 문자 변환, 입출력 성능 햐상, 기본 타입 입출력 등의 기능을 제공한다.

https://hudi.blog/java-filter-stream/

 

문자 변환

  • 소스 스트림이 바이트 기반 스트림(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

+ Recent posts