반응형
이것이 자바다 - IO 기반 입출력 및 네트워킹
자바에서 데이터는 스트림(Stream)을 통해 입출력되므로 스트립의 특징을 잘 이해해야 한다.
프로그램이 데이터를 입력 받을 때 입력 스트림(Input Stream)이라고 부르고
프로그램이 데이터를 내 보낼때에는 출력 스트림(Output Stream)이라고 부른다.
InputStream
- 바이트 기반 입력 스트림의 최상위 클래스로 추상 클래스다.
- read
- 바이트를 읽을 수 없을때 -1를 반환
OutputStream
- 바이트 기반 출력 스트림의 최상위 클래스로 추상 클래스다.
- Write
Reader
- 문자 기반 입력 스트림의 최상위 클래스로 추상 클래스다.
- read() : 입력 스트림으로부터 한개의 문자(2바이트)씩 읽는다.
Writer
- 문자 기반 출력 스트림의 최상위 클래스로 추상 클래스다.
- write() : 한 문자(2바이트)씩 출력 스트림으로 내보낸다.
- flush() : 버퍼에 잔류하고 있는 데이터를 모두 출력한다.
- close() : 시스템 자원을 종료한다.
콘솔 입출력
- System.in
- System.out
파일 입출력
- FileInputStream / FileOutputStream
- FileReader / FileWriter
보조 스트림
- InputStreamReader / OutputStreamWriter
- 바이트 기반 스트림 BufferedInputStream / BufferedOutputStream
- 문자 기반 스트림 BufferedReader / BufferedWriter
- 기본 타입 입출력 보조 스트림 DataInputStream / DataOutputStream
- 객체 입출력 보조 스트림 ObjectInputStream / ObjectOutputStream
직렬화가 가능한 클래스(Serializable)
- Static 또는 transient가 붙어있는 경우에는 직렬화가 되지 않음
- 역직렬화할 때는 직렬화 했을 때와 같은 클래스를 사용해야함, 클래스 이름만 같아도 내용이 변경되는 역직렬화가 실패한다.
반응형
'Develop' 카테고리의 다른 글
개발자가 반드시 정복해야 할 객체 지향과 디자인패턴 1 (0) | 2020.02.22 |
---|---|
이것이 자바다 - NIO 기반 입출력 및 네트워킹 (0) | 2020.02.22 |
Java9 Java10 특징 찾아보기 (0) | 2020.02.22 |
이것이 자바다 - 스트림과 병렬처리 (0) | 2020.02.22 |
이것이 자바다 - 컬렉션 프레임워크 (0) | 2020.02.22 |
댓글