JAVA/포스팅

자바 BufferedInputStream

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

BufferedInputStream 클래스는 입력 스트림에 대한 입력을 버퍼링하는 데 사용되는 클래스입니다. 이 클래스는 성능 향상을 위해 입출력 속도를 최적화하는 데 도움을 줍니다.

BufferedInputStream은 내부에 바이트 배열 버퍼를 유지하고, read 메서드를 통해 데이터를 버퍼에서 읽어옵니다. 일반적으로 한 번에 하나의 바이트가 아닌 여러 바이트를 읽어와서 버퍼에 저장하므로, 실제 입력 스트림에서 읽어오는 횟수를 줄여 성능을 향상시킬 수 있습니다.

다음은 BufferedInputStream을 사용하는 간단한 예제입니다.

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

public class BufferedInputStreamExample {
    public static void main(String[] args) {
        try (InputStream fileInputStream = new FileInputStream("example.txt");
             BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream)) {

            // 버퍼링된 입력 스트림을 사용하여 데이터 읽기
            int data;
            while ((data = bufferedInputStream.read()) != -1) {
                System.out.print((char) data);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

이 예제에서는 BufferedInputStream을 사용하여 파일에서 데이터를 읽어오고 있습니다. BufferedInputStream은 내부적으로 설정된 기본 버퍼 크기를 사용합니다. 버퍼 크기를 변경하려면 다른 생성자를 사용하거나 BufferedInputStream 객체를 생성한 후에 setBufferSize 메서드를 사용할 수 있습니다.

BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream, bufferSize);

여기서 bufferSize는 사용자가 원하는 버퍼 크기를 나타냅니다. 더 큰 버퍼 크기는 일반적으로 더 효율적인 읽기를 제공할 수 있지만, 메모리 사용량이 증가할 수 있습니다. 따라서 적절한 크기를 선택하는 것이 중요합니다.

 

With ChatGPT

'JAVA > 포스팅' 카테고리의 다른 글

자바 DataInputStream  (0) 2023.11.26
자바 BufferedOutputStream  (0) 2023.11.26
자바 FilterOutputStream  (0) 2023.11.26
자바 FilterInputStream  (0) 2023.11.26
자바 FileOutputStream  (0) 2023.11.25