2016. 12. 19. 00:28
Java의 Byte Stream Basic Languages/Java2016. 12. 19. 00:28
필터스트림 : 중간에 필터를 거치는 것처럼 스트림에 추가 기능을 부여하기 위한 것
숫자로 쓰고 싶다
DataOutputStream
버퍼로 출력을 빠르게 하고 싶다
BufferedOutputStream
파일에 쓰고 싶다
FileOutputStream
적절한 순서로 조합을 해야 한다.
OutputStream out = new FileOutputStream("data.bin");
BufferedOutputStream bos = new BufferedOutputStream(out);
DataOutputStream dos = new DataOutputStream(bos);
왜 순서가 이렇게 구성되나?
원래는 FileOutputStream 하나만 쓰면 되는 상황이었다.
근데 그건 바이너리로 써야 하는데, 난 숫자가 쓰고 싶다.
그래서 DataOutputStream을 써야 된다.
근데 버퍼를 달아서 속도를 향상시키고 싶다.
내가 이용해야 하는건 숫자를 쓰는 기능인데, BufferedOutputStream은 그런 기능이 없다.
그러므로 DataOutputStream -> BufferedOutputStream -> FileOutputStream 순서로 진행이 된다.
(어느 쪽이 사람과 가깝고, 어느 쪽이 기계와 가까운지를 논리적으로 따져보면 자연스럽게 이해가 될 것)
https://www.youtube.com/watch?v=9A0k6k6hYS8
'Basic Languages > Java' 카테고리의 다른 글
Collection을 Iterator로 순회하는 간단 예제 (0) | 2016.12.30 |
---|---|
Class.forName는 클래스를 메모리에 로드할 뿐인데, 왜 뭔가가 실행되나? (0) | 2016.12.20 |
Java의 인자 전달 방법 (0) | 2016.12.18 |
Java 토큰 단위로 파일 읽기(Scanner 사용) (0) | 2016.12.12 |
Java 파일 바이트 단위로 복사하기 (0) | 2016.12.12 |