순차적인 데이터 구조
끝을 알수없으며 기본적으로 무한대라고 생각하고 동작
아주 큰 데이터 처리, 끊기지 않는 무한한 데이터 처리 시 사용
아주 큰 데이터가 아닐경우에는 굳이 사용할 필요는 없음
쓸수있는 스트림
Stream 에 데이터를 쓸수있는 연결 통로를 생성 할 수있는 최상위 인터페이스
읽을 수 있는 스트림
Stream 에 데이터를 읽을수있는 연결통로를 생성 할 수있는 최상위 인터페이스
읽고, 쓸수있는 스트림
기본적으로는 duplex 와 같지만
쓸때는 Writable, 읽을때는 Readble 이 가능함
Stream 이벤트를 사용하기 쉽게 해준다
한 스트림에서 다른 스트림으로 데이터를 전송
이름 그대로 두 스트림을 연결하고 연결된 스트림을 반환
// input.txt 파일에 대한 데이터를 읽을수있는 스트림을 가져온다
const readStream = fs.createReadStream("input.txt");
// output.txt 파일에 대한 데이터를 쓸수있는 스트림을 가져온다
const writeStream = fs.createWriteStream("output.txt");
// `pipe` 가 자동으로 해주는일이 몇개 있는데 `end` 와 `on` 처리를 자동으로 처리를 해주기떄문에
// input.txt 파일에서 읽은 내용이 output.txt 파일에 작성된다
readStream.pipe(writeStream)
체이닝도 가능
readStream
.pipe(writeStream1)
.pipe(writeStream2)
.pipe(writeStream3)
pipe에서 사용 가능한 함수 및 이벤트들
