BufferedOutputStream 클래스는 출력 스트림에 대한 출력을 버퍼링하는 데 사용되는 클래스입니다. 이 클래스는 성능 향상을 위해 입출력 속도를 최적화합니다.
BufferedOutputStream은 내부에 바이트 배열 버퍼를 유지하고, write 메서드를 통해 데이터를 버퍼에 쓰기합니다. 이를 통해 한 번에 작은 양의 데이터가 아니라 여러 바이트를 한 번에 쓸 수 있으므로 성능이 향상됩니다.
다음은 BufferedOutputStream을 사용하는 간단한 예제입니다.
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class BufferedOutputStreamExample {
public static void main(String[] args) {
try (OutputStream fileOutputStream = new FileOutputStream("example.txt");
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream)) {
// 버퍼링된 출력 스트림을 사용하여 데이터 쓰기
String data = "Hello, BufferedOutputStream!";
bufferedOutputStream.write(data.getBytes());
} catch (IOException e) {
e.printStackTrace();
}
}
}
이 예제에서는 BufferedOutputStream을 사용하여 파일에 데이터를 쓰고 있습니다. BufferedOutputStream은 내부적으로 설정된 기본 버퍼 크기를 사용합니다. 버퍼 크기를 변경하려면 다른 생성자를 사용하거나 BufferedOutputStream 객체를 생성한 후에 setBufferSize 메서드를 사용할 수 있습니다.
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream, bufferSize);
여기서 bufferSize는 사용자가 원하는 버퍼 크기를 나타냅니다. 버퍼 크기를 크게 설정하면 성능이 향상될 수 있지만, 메모리 사용량이 증가할 수 있습니다. 적절한 크기를 선택하는 것이 중요합니다.
With ChatGPT
'JAVA > 포스팅' 카테고리의 다른 글
자바 DataOutputStream (0) | 2023.11.26 |
---|---|
자바 DataInputStream (0) | 2023.11.26 |
자바 BufferedInputStream (0) | 2023.11.26 |
자바 FilterOutputStream (0) | 2023.11.26 |
자바 FilterInputStream (0) | 2023.11.26 |