[JAVA] BufferedInputStream, BufferdOutputStream

2022. 11. 15. 16:58
728x90
반응형
■ 자바스트림 - BufferedInputStream, BufferdOutputStream
 
  - 통신의 효율을 높이기 위한 방법으로 버퍼링(Buffering)이 중요하게 사용된다.
 
    BufferedOutputStream 클래스는 flush()메서드가 호출되거나, 버퍼가 꽉 찰 때까지 데이터를 버퍼에 저장했다가 한꺼번에 스트림에 쓰는 방식이다.
    예를 들면 100byte에 해당하는 정보를 스트림에 쓰려고 한다면 기존의 방식은 1byte씩 100번의 write()메서드를 호출해야 했지만, 버퍼링을 사용한다면 100byte를 버퍼에 모아서
    1번에 write()메서드를 호출하면 되므로 상당히 효율적이라고 할 수 있다. 
   
    BufferedInputStream 클래스는 입력에 대한 버퍼링을 하고 mark()메서드와 reset()메서드를 지원하기 위한 기능을 제공해주고 있다.
 
    다음은 BufferdInputStream과 BufferedOutputStream을 이용하여 파일을 복사하는 예제이다.
    파일 두개를 준비하고 첫번째 파일에서 두번째 파일로 내용을 복사하는 간단한 프로그램이다.
 

     BufferedInputStream in   = new BufferedInputStream(new FileInputStream(args[0]));

    BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(args[1]));

    int s1=0;

       while((s1 = in.read()) != -1) {

          out.write(s1);

       }

       in.close();

       out.close();

       System.out.println("Copied...Successfully!");

728x90
반응형

BELATED ARTICLES

more