자바 BufferedInputStream / BufferedOutputStream

2019. 12. 6. 17:44Java

728x90

BufferedInputStream / BufferedOutputStream을 사용하면 편리하고 효율적인 입출력을 할 수 있다.



BufferedInputStream을 통하여 원하는 자료를 1바이트 단위로 읽는 read() 메소드를 수행하면

 

시스템 내부적으로 버퍼를 준비하고

 

이 버퍼를 이용하여 지정된 파일로부터 버퍼의 크기만큼 한꺼번에 많은 데이터를 가져온다.


사용자가 BufferedInputStream과 BufferedOutputStream을 이용하여 프로그램을 작성하면

 

1 바이트씩 읽고 쓰는 모든 작업이 하드 디스크 파일이 아닌 내부적인 버퍼를 대상으로 발생하며,

 

필요에 따라 버퍼와 하드 디스크 파일간에 입출력이 간헐적으로 발생하므로

 

전체적인 입출력 성능이 동적으로 향상될 수 있다.

왜냐면 파일에서 바로 1바이트씩 읽어오고 내보내는게 아니라,
버퍼에 쌓아놨다가 가져오니까.
약간 시시오도시 닉김.



참고자료:
https://hyeonstorage.tistory.com/238

728x90
반응형