지식조각모음
15. 입출력 본문
반응형
입출력(I/O)과 스트림(stream)
- 입출력: 컴퓨터 내부 또는 외부의 장치와 프로그램간의 데이터를 주고받는 것
- 스트림: 두 대상을 연결하고 데이터를 전송할 수 있는 무언가. 데이터를 운반하는데 사용되는 연결통로
- 단반향 통신만 가능하므로 입출력을 동시에 수행하려면 입력스트림과 출력스트림 2개가 필요하다.
스트림 종류
바이트 기반 스트림
스트림은 바이트단위로 데이터를 전송(입출력 단위가 1byte). 입출력 대상에 따라 입출력스트림이 나뉜다.
- InputStream
- OutputStream
위 두가지 클래스가 모든 바이트 기반 스트림의 조상이다
보조스트림
실제 데이터를 주고받는 스트림이 아니기 때문에 데이터를 입출력할 수 있는 기능은 없지만, 스트림의 기능을 향상시킬 수 있다. 스트림을 먼저 생성한 뒤 보조 스트림을 생성해야 한다.
// 기반 스트림 생성
FileInputStream fis = new FileInputStream("test.txt");
// 보조 스트림 생성
BufferedInputStream bis = new BufferedInputStream(fis);
bis.read();
File관련
- FileInputStream
- FileOuputStream
Buffer
- BufferedInputStream
- BufferedOutputStream
문자 기반 스트림
Java에서 바이트기반의 입출력을 사용하는 경우 char형이 2byte이기 때문에 어려움이 있다. 이를 보완하기 위한 스트림
- Reader: InputStream과 동일
- Wirter: OutputStream과 동일
표준 입출력(Standard I/O)
File
직렬화(serialization)
반응형
'책 > 자바의 정석' 카테고리의 다른 글
| 16. 네트워킹 (0) | 2022.04.14 |
|---|---|
| 14. 람다와 스트림 (2) | 2022.04.09 |
| 13. 스레드 (2) | 2022.03.30 |
| 12. 제네릭스, 열거형, 애너테이션 (0) | 2022.03.13 |
| Comparator와 Comparable (1) | 2022.03.10 |