BufferedOutputStream

: 바이트 출력 스트림에 연결되어 버퍼를 제공해주는 보조스트림

BufferedWriter

: 문자 출력 스트림에 연결되어 버퍼를 제공해주는 보조스트림

BufferedOutputStream bos = new BufferedOutputStream(바이트출력스트림);
BufferedWriter bw = new BufferedWriter(문자출력스트림);

 

버퍼를 사용했을 때의 성능 테스트

package sec05.exam05_bufferedoutputstream_YJ;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class BufferedOutputStreamExample {
	public static void main(String[] args) throws Exception {
		FileInputStream fis = null;
		FileOutputStream fos = null;
		BufferedInputStream bis = null;
		BufferedOutputStream bos = null;
		
		int data = -1;
		long start = 0;
		long end = 0;
		
		fis = new FileInputStream("C:/JavaProgramming/source/chap18/src/" 
						+ "sec05/exam05_bufferedoutputstream_YJ/BufferedOutputStreamExample.java");
		bis = new BufferedInputStream(fis);
		fos = new FileOutputStream("C:/Temp/forest.jpg");
		start = System.currentTimeMillis();
		while((data = bis.read()) != -1) {
			fos.write(data);
		}
		fos.flush();
		end = System.currentTimeMillis();
		fos.close();
		bis.close();
		fis.close();
		System.out.println("BufferedOutputStream 사용하지 않았을 때: " + (end - start) + "ms");
		
		fis = new FileInputStream("C:/JavaProgramming/source/chap18/src/" 
				+ "sec05/exam05_bufferedoutputstream_YJ/BufferedOutputStreamExample.java");
		bis = new BufferedInputStream(fis);
		fos = new FileOutputStream("C:/Temp/forest.jpg");	
		bos = new BufferedOutputStream(fos);
		start = System.currentTimeMillis();
		while((data = bis.read()) != -1) {
			bos.write(data);
		}
		bos.flush();
		end = System.currentTimeMillis();
		bos.close();
		bis.close();
		fis.close();
		System.out.println("BufferedOutputStream 사용했을 때: " + (end - start) + "ms");
		
	}
}
BufferedOutputStream 사용하지 않았을 때: 16ms
BufferedOutputStream 사용했을 때: 0ms

+ Recent posts