[Java] 스트림(stream) 1
Updated:
Java SE 8 버전부터 추가된 스트림 API는 앞서 설명한 스트림과는 전혀 다른 개념
실제의 입력이나 출력이 표현된 데이터의 이상화된 흐름
스트림(stream)란?
- 스트림은 운영체제에 의해 생성되는 가상의 연결 고리를 의미하며, 중간 매개자 역할
- 자바에서는 파일이나 콘솔의 입출력을 스트림(stream)을 통해 사용
입출력 스트림
- 스트림은 단방향 통신이므로 입출력을 동시에 처리 불가
- 입력스트림, 출력스트림으로 구분
- java.io 패키지
- InputStream과 OutputStream 클래스
- 스트림 생성 : 스트림 클래스 타입의 인스턴스를 생성한다는 의미
입출력 스트림 함수
- 추상메소드
- InputStream - read()
- 해당 입력 스트림에서 더 이상 읽어들일 바이트가 없으면 -1을 반환
- byte 타입은 -1을 표현할 수 없으므로 반환 타입이 int형을 반환
- OutputStream - write()
- InputStream - read()
클래스 | 메소드 | 설명 |
---|---|---|
InputStream | abstract int read() | 해당 입력 스트림으로부터 다음 바이트를 읽어들임. |
int read(byte[] b) | 해당 입력 스트림으로부터 특정 바이트를 읽어들인 후, 배열 b에 저장함. | |
int read(byte[] b, int off, int len) | 해당 입력 스트림으로부터 len 바이트를 읽어들인 후, 배열 b[off]부터 저장함. | |
OutputStream | abstract void write(int b) | 해당 출력 스트림에 특정 바이트를 저장함. |
void write(byte[] b) | 배열 b의 특정 바이트를 배열 b의 길이만큼 해당 출력 스트림에 저장함. | |
void write(byte[] b, int off, int len) | 배열 b[off]부터 len 바이트를 해당 출력 스트림에 저장함. |
참고
- 자바의 정석
- https://www.daleseo.com/java8-local-date-time/
- [강의](https://www.tcpschool.com/java]
Leave a comment