달력

4

« 2024/4 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
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


http://hyeonstorage.tistory.com/239

:
Posted by 클레잇