A. 스트림이란
1. 스트림(Stream)은 파일이나 키보드, 모니터 등의 입출력 장치나 네트워크, 메모리등으로부터 데이터를 입출력할 때 사용하는 처리를 정의해 둔 것
2. 스트림이라는 영어 어원처럼 (시냇물) 양방향이 아니고 단방향이다. 데이터 처리가 많을때는 지연 될 수도 있다.
B. Stream의 종류
1. 바이트 스트림(byte stream) - 1바이트씩 전송
* 존재 이유 : 컴퓨터는 2진수로 데이터 처리, 진수라는것은 bit를 의미 8bit가 1byte이므로 바이트 스트림 존재
* 주로 하드웨어 접근 할때는 바이트 스트림으로 처리
* 가장 큰 부모 클래스(추상) : InputStream, OutputStream
2. 캐릭터 스트림(character stream) - 2바이트씩 전송
* 문자 및 데이터를 보내고 할때 쉽게 하기 위해서 캐릭터 스트림을 사용 하지만 이것도 따지고 들어가면 내부적으로 바이트 스트림으로 처리.
* 가장 큰 부모 클래스(추상) : Reader, Writer
결국 I/O처리 할때는 Input/Output/Reader/Writer는 부모 클래스로서 자식 클래스들이 상속 받는다.
자바 document에서 보면 여러 자식 클래스들이 있는데 누구를 상속했는지는 절대 외울 필요 없다.
자식 클래스의 이름은 항상 끝에 ~~inputstream, ~~outputstream으로 되어 있어서 이 클래스가 캐릭터스트림인지 바이트 스트림인지 알 수 있다.
자세한 내용은 자바API에서 확인 해보면 됨.
http://docs.oracle.com/javase/7/docs/api/
'강좌 > JAVA I/O' 카테고리의 다른 글
JAVA I/O (자바입출력) - ByteArrayInputStream 과 ByteArrayOutputStream (0) | 2013.03.28 |
---|---|
JAVA I/O (자바입출력) - DataInputStream 과 DataOutputStream (0) | 2013.03.28 |
JAVA I/O (자바입출력) - FileInputStream와 FileOutputStream를 이용한 파일 복사 (0) | 2013.03.28 |
JAVA I/O (자바입출력) - FileInputStream 과 FileOutputStream (0) | 2013.03.26 |
JAVA I/O (자바입출력) - InputStream과 OutputStream (0) | 2013.03.25 |