JAVA/포스팅

자바 BufferedOutputStream

짜집퍼박사(짜박) 2023. 11. 26. 02:06

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