"Java의 정석" 책을 정리한 포스팅 입니다.
4. 보조 스트림
- 스트림의 기능을 보완하기 위한 보조적인 스트림 입니다.
- 스트림의 기능을 향상시키거나 새로운 기능을 추가할 수 있습니다.
- 실제 데이터를 주고받는 스트림은 아닙니다.
- 데이터를 입출력할 수 있는 기능은 없습니다.
- 스트림을 먼저 생성한 다음, 이를 이용해서 보조 스트림을 생성합니다.
// 기반스트림 생성
FileInputStream fis = new FileInputStream("text.txt");
// 보조스트림 생성
BufferedInputStream bis = new BufferedInputStream(fis);
// 보조스트림을 이용해서 데이터를 읽기
bis.read();
바이트 기반
FilterInputStream & FilterOutputStream
- 모든 바이트 기반 보조스트림의 부모 클래스 입니다.
BufferedInputStream & BufferedOutputStream
- 스트림의 입출력 효율을 높이기 위해 버퍼를 사용하는 보조스트림 입니다.
- 내부의 버퍼로 읽는 것이 훨씬 빠르고 효율적입니다.
- 한 바이트씩 입출력하는 것이 아닌 한번에 여러 바이트를 입출력하고 버퍼에 저장하여 사용합니다.
DataInputStream & DataOutputStream
- 데이터를 읽고쓰는 단위가 바이트가 아닌 8가지 기본 자료형을 사용할 수 있습니다.
문자 기반
BufferedReader & BufferedWriter
- 버퍼를 이용하여 입출력의 효율을 높이는 보조 스트림 입니다.
InputStreamReader & InputStreamWriter
- 바이트 기반 스트림을 문자 기반 스트림으로 연결시켜주는 보조 스트림입니다.
PrintWriter
- 포맷팅된 문자열을 출력하는데 사용되는 스트림 입니다.
'Java' 카테고리의 다른 글
[Java의 정석] 15-5. 입출력: File (1) | 2023.11.29 |
---|---|
[Java의 정석] 15-4. 입출력: 표준 입출력 (0) | 2023.11.29 |
[Java의 정석] 15-2. 입출력: 문자 기반 스트림 (0) | 2023.11.29 |
[Java의 정석] 15-1. 입출력: 바이트 기반 스트림 (0) | 2023.11.29 |
[Java의 정석] 13-2. 스레드: 우선순위, 그룹, 데몬 스레드 (2) | 2023.11.27 |