입출력 스트림
자바에서 데이터는 스트림(stream)을 통해 입출력된다.
입출력 스트림 종류
- 바이트(byte)기반 스트림: 그림, 멀티미디어 등의 바이너를 데이터를 읽고 출력 - InputStream(입력), OutputStream(출력)
- 문자(character)기반 스트림: 문자 데이터를 읽고 출력 - Reader(입력), Writer(출력)
바이트 출력 스트림: OutputStream
바이트 기반 출력 스트림의 최상의 클래스로 추상클래스이다.
FileOutputStream, BufferedOutputStream, PrintStream, DataOutputStream 클래스는 OutputStream 클래스를 상속받는다.
메서드에는 write, flush, close 등이 있다.
바이트 입력 스트림: InputStream
바이트 기반 입력 스트림의 최상위 클래스로 추상클래스이다.
FileInputStream, BufferedInputStream, DataInputStream 클래스는 InputStream클래스를 상속받는다.
메서드에는 read, close 등이 있다.
문자 출력 스트림: Writer
문자 기반 출력 스트림의 최상의 클래스로 추상클래스이다.
FileWriter, BufferedWriter, PrintWriter, OutputStreamWriter 클래스는 Writer 클래스를 상속받는다.
메서드로는 write, flush, close 등이 있다.
문자 입력 스트림: Reader
문자 기반 입력 스트림의 최상의 클래스로 추상클래스이다.
FileReader, BufferedReader, InputStreamReader 클래스는 Reader 클래스를 상속받는다.
메서드로는 read, close 등이 있다.
보조 스트림
다른 스트림과 연결하여 여러 가지 편리한 기능을 제공해주는 스트림
보조스트림 자체로 입출력을 수행할 수 없기 때문에 InputStream, OutputStream, Writer, Reader 등에 연결해서 입출력을 수행한다.
보조 스트림 연결하기
보조 스트림을 생성할 때 자신이 연결될 스트림을 생성자의 매개값으로 제공하면 된다.
InputStream is = ...;
InputStreamReader reader = new InputStreamReader(is);
문자변환 보조 스트림
OutputStreamWriter
바이트 기반 출력 스트림에 연결되어 문자 출력 스트림인 Writer로 변환하는 보조 스트림
Writer writer = new OutputStreamWriter(바이트 기반 출력 스트림);
InputStreamReader
바이트 기반 입력 스트림에 연결되어 문자 입력 스트림인 Reader로 변환하는 보조 스트림
Reader reader = new InputStreamReader(바이트 기반 입력 스트림);
성능향상 보조 스트림
프로그램의 실행 성능은 입출력이 가장 늦은 장치를 따라간다.
'JAVA > #혼공단3기' 카테고리의 다른 글
[혼공자] 5주차 - (선택) 직접 해보는 손코딩 - HashMap (0) | 2020.03.09 |
---|---|
[혼공자] 5주차 - 13장 컬렉션 프레임워크 키워드 정리 (0) | 2020.03.05 |
[혼공자] 4주차 - (선택) 멀티스레드 손 코딩 (0) | 2020.02.25 |
[혼공자] 4주차 - Daemon Thread 손 코딩 및 실행 결과 (0) | 2020.02.25 |
[혼공자] 3주차 - 혼공 용어 노트 활용 (0) | 2020.02.21 |