[Java] stream의 정의와 종류
일반적인 프로그램이라면 데이터를 외부에서 읽고 다시 외부로 출력하는 작업이 빈번하게 일어난다.
데이터는 사용자로부터 키보드를 통하여 입력이 되거나 파일이나 네트워크 장비로부터도 입력이 될 수 있다.
반대로 모니터를 통해 출력 되거나 파일로 출력되어 저장 되거나 네트워크로 출력되어 전송될 수 있다.
자바에서는 데이터가 Stream을 통해 입출력 된다.
Stream(스트림)이란 단일 방향으로 연속적으로 흘러가는 것을 말한다.
입력 스트림과 출력 스트림
프로그램을 기준으로
- 출발하게 되면 출력 스트림
- 도착하게 되면 입력 스트림
을 사용한다.
즉, 데이터를 입력 받을 때는 입력 스트림, 데이터를 출력할 때는 출력 스트림을 사용
네트워크 상에서 다른 프로그램과 데이터를 교환하려는 경우는 양쪽 모두 입력 스트림과 출력 스트림이 따로 필요하다.
그 이유는 스트림은 단방향이기 때문이다.
자바에서는 java.io 패키지에서 기본 데이터 입출력 API를 제공한다.
스트림의 종류
바이트 기반 스트림 | 문자 기반 스트림 |
---|---|
모든 종류의 데이터(이미지, 멀티미디어, 문자 등)를 보내고 받을 수 있다. | 문자만 보내고 받을 수 있다. |
자세히 알아보기
댓글남기기