Structured data
- Category
- Programming
java.io 패키지 #
Java의 java.io 패키지(Package)는 java.nio 패키지와 함께 파일이나 통신 등 디지털 정보의 입출력을 처리하는 클래스가 정의된 패키지이다. 대표적인 바이트 스트림(Byte Stream) 처리 인터페이스는 InputStream과 OutputStream이 있으며, 문자열(Character Stream) 방식 입출력 처리를 위한 클래스로는 Reader와 Writer 추상 클래스가 정의되어 있다.
java.io 패키지 클래스 이름과 의미 #
java.io에 정의된 인터페이스와 클래스 명칭을 보면 바이트 단위 입출력을 수행하는 클래스는 이름이 Stream 으로 끝나고, 문자열 단위 입출력을 수행하는 클래스는 Reader/Writer 로 끝나는 것이 일반적이다. 클래스 명칭에 File, Data, Buffered 와 같은 접두어가 붙게 되면 해당 클랙스가 사용하는 입출력 데이터의 종류를 알 수가 있다.
바이트 스트림(Byte Stream) #
* 바이트, 바이트 배열, 정수, 데이터 등의 흐름
* InputStream/OutputStream 클래스
* 8bit(=1byte) 크기의 스트림들에 대한 입출력
문자열 스트림(Character Stream) #
* 문자, 문자 배열, 문자열 등의 흐름
* Reader/Writer 클래스
* 16bit(=2byte) 크기의 유니코드 문자들의 입출력
* 64bit 운영체제가 보편화 되면서 32bit(=4byte) 크기가 보편화 되고 있는 추세
바이트 스트림 입력(InputStream) 클래스 #
클래스 |
설명 |
AudioInputStream |
오디오 포맷에 특화된 프레임 단위 스트림 입력을 처리하는 클래스 |
ByteArrayInputStream |
바이트 배열을 바이트 스트림으로 변환 입력 |
BufferedInputStream |
버퍼를 이용한 바이트 스트림 입력 |
FileInputStream |
파일을 바이트 단위로 읽어들여 바이트 스트림 입력 |
FilterInputStream |
버퍼와 같은 필터에 의한 바이트 스트림 입력 |
InputStream |
바이트 스트림의 입력을 위한 추상 클래스 |
ObjectInputStream |
자바 객체를 직렬화 시켜 읽어들여 스트림으로 변환 |
PipedInputStream |
바이트 스트림을 읽어들여 연결된 PipedOutputStream으로 동시에 전달 |
SequenceInputStream |
서로 다른 InpustStream을 순차적으로 입력하기 위한 클래스 |
StringBufferInputStream |
문자열 스트림 입력을 위한 클래스, JDK 1.1 이후 StreamReader 클래스로 대체 |
바이트 스트림 출력(OutputStream) 클래스 #
클래스 |
설명 |
ByteArrayOutputStream |
바이트 스트림을 바이트 배열로 출력 |
FileOutputStream |
바이트 스트림을 바이트 파일로 출력 |
FilterOutputStream |
버퍼와 같은 필터가 추가된 바이트 스트림 출력을 위한 추상 클래스 |
ObjectOutputStream |
바이트 스트림을 직렬화된 객체 형식으로 출력 |
OutputStream |
바이트 출력 스트림을 위한 추상 클래스 |
PipedOutputStream |
PipedInputStream의 입력 스트림을 출력 |
문자열 스트림 입력(Reader) 클래스 #
클래스 |
설명 |
BufferedReader |
버퍼를 이용한 문자 스트림 입력 |
CharArrayReader |
문자 배열의 입력 |
FileReader |
파일을 문자 스트림으로 변환해 입력 |
FilterReader |
버퍼와 같은 필터에 의한 문자 스트림 입력 |
InputStreamReader |
바이트 스트림을 문자 스트림으로 변환 |
LineNumberReader |
버퍼를 이용한 문자 스트림 입력, 라인번호 저장 |
PipedReader |
문자 스트림을 읽어들여 연결된 PipedWriter로 동시에 전달 |
Reader |
바이트 입력 스트림을 문자 스트림으로 변환하기 위한 추상 클래스 |
StringReader |
문자열 데이터를 문자 스트림으로 입력 |
문자열 스트림 출력(Writer) 클래스 #
클래스 |
설명 |
BufferedWriter |
문자 스트림을 버퍼를 이용해 문자열 단위로 출력 |
CharArrayWriter |
문자 스트림을 문자 배열 단위로 출력 |
FilterWriter |
버퍼와 같은 필터가 추가된 문자 스트림 출력을 위한 추상 클래스 |
OutputStreamWriter |
문자 스트림을 바이트 스트림으로 변환 출력 |
PipedWriter |
PipedReader에서 전달받은 문자 스트림을 바로 출력 |
PrintWriter |
형식이 있는 Writer 객체를 문자 스트림으로 출력 |
StringWriter |
문자 스트림을 문자열 데이터로 출력 |