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