데이터를 전송하거나 할 때 쓰이는 두 가지 방식이다.
예를 들면 100메가 바이트의 파일을 전송한다고 할 때,
스트림 방식은 데이터를 아주 작은 단위(예를 들면 1바이트)로 조각내서 전송한다.
1. 파일에서 1바이트씩 데이터를 읽는다.
2. 읽은 각 바이트는 즉시 처리되고 전송된다.
3. 이 과정을 파일의 모든 내용이 전송될 때까지 계속된다.
4. 매우 많은 수의 입출력 작업이 반복됨. 100메가 바이트 파일의 경우 약 백만 번의 IO 발생
버퍼 방식은 파일을 더 큰 단위로 나누어 처리한다.
1. 파일에서 1메가바이트의 데이터를 버퍼에 읽음.
2. 버퍼에 저장된 1메가바이트 데이터는 한 번에 처리되고 전송됨.
3. 이 과정을 100번 반복.
4. IO 수 감소 및 효율 증가