산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

자바 BufferedOutputStream 클래스

자바 BufferedOutputStream 클래스

이 자습서에서는 예제를 통해 Java BufferedOutputStream 및 해당 메서드에 대해 알아봅니다.

BufferedOutputStream java.io 클래스 패키지는 데이터(바이트 단위)를 보다 효율적으로 쓰기 위해 다른 출력 스트림과 함께 사용됩니다.

OutputStream 확장 추상 클래스.

<시간>

BufferedOutputStream 작업

BufferedOutputStream 내부 8192바이트의 버퍼를 유지합니다. .

쓰기 작업 중에 바이트는 디스크 대신 내부 버퍼에 기록됩니다. 버퍼가 채워지거나 스트림이 닫히면 전체 버퍼가 디스크에 기록됩니다.

따라서 디스크에 대한 통신 수가 줄어듭니다. 이것이 BufferedOutputStream을 사용하여 바이트 쓰기가 더 빠른 이유입니다. .

<시간>

BufferedOutputStream 생성

BufferedOutputStream을 생성하려면 , java.io.BufferedOutputStream을 가져와야 합니다. 먼저 패키지. 여기에서 패키지를 가져오면 출력 스트림을 생성할 수 있습니다.

// Creates a FileOutputStream
FileOutputStream file = new FileOutputStream(String path);

// Creates a BufferedOutputStream
BufferedOutputStream buffer = new BufferOutputStream(file);

위의 예에서는 BufferdOutputStream를 생성했습니다. 버퍼라는 이름의 FileOutputStream 사용 명명된 파일 .

여기서 내부 버퍼의 기본 크기는 8192바이트입니다. 그러나 내부 버퍼의 크기도 지정할 수 있습니다.

// Creates a BufferedOutputStream with specified size internal buffer
BufferedOutputStream buffer = new BufferOutputStream(file, int size);

버퍼 파일에 바이트를 더 빨리 쓰는 데 도움이 됩니다.

<시간>

BufferedOutputStream의 메소드

BufferedOutputStream 클래스는 OutputStream에서 다양한 메소드에 대한 구현을 제공합니다. 수업.

write() 메소드

예:BufferedOutputStream을 사용하여 파일에 데이터 쓰기

import java.io.FileOutputStream;
import java.io.BufferedOutputStream;

public class Main {
    public static void main(String[] args) {

        String data = "This is a line of text inside the file";

        try {
            // Creates a FileOutputStream
            FileOutputStream file = new FileOutputStream("output.txt");

            // Creates a BufferedOutputStream
            BufferedOutputStream output = new BufferedOutputStream(file);

            byte[] array = data.getBytes();

            // Writes data to the output stream
            output.write(array);
            output.close();
        }

        catch (Exception e) {
            e.getStackTrace();
        }
    }
}

위의 예에서 output이라는 버퍼링된 출력 스트림을 만들었습니다. FileOutputStream와 함께 . 출력 스트림은 output.txt 파일과 연결됩니다. .

FileOutputStream file = new FileOutputStream("output.txt");
BufferedOutputStream output = new BufferedOutputStream(file);

파일에 데이터를 쓰기 위해 write()을 사용했습니다. 방법.

여기에서 프로그램을 실행할 때 output.txt 파일은 다음 내용으로 채워집니다.

This is a line of text inside the file.

참고 :getBytes() 프로그램에서 사용된 메소드는 문자열을 바이트 배열로 변환합니다.

<시간>

flush() 메소드

내부 버퍼를 지우려면 flush()를 사용할 수 있습니다. 방법. 이 메서드는 출력 스트림이 버퍼에 있는 모든 데이터를 대상 파일에 쓰도록 합니다. 예를 들어,

import java.io.FileOutputStream;
import java.io.BufferedOutputStream;

public class Main {
    public static void main(String[] args) {

        String data = "This is a demo of the flush method";

        try {
            // Creates a FileOutputStream
            FileOutputStream file = new FileOutputStream(" flush.txt");

            // Creates a BufferedOutputStream
            BufferedOutputStream buffer = new BufferedOutputStream(file);

            // Writes data to the output stream
            buffer.write(data.getBytes());

            // Flushes data to the destination
            buffer.flush();
            System.out.println("Data is flushed to the file.");
            buffer.close();
        }

        catch(Exception e) {
            e.getStackTrace();
        }
    }
}

출력

Data is flushed to the file.

프로그램을 실행하면 flush.txt 파일이 문자열 data로 표시되는 텍스트로 채워집니다. .

<시간>

close() 메소드

버퍼링된 출력 스트림을 닫으려면 close()를 사용할 수 있습니다. 방법. 메서드가 호출되면 출력 스트림을 사용하여 데이터를 쓸 수 없습니다.

자세한 내용은 Java BufferedOutputStream(공식 Java 설명서)을 참조하십시오.


java

  1. 자바 최종 키워드
  2. 자바 instanceof 연산자
  3. 자바 상속
  4. 자바 중첩 정적 클래스
  5. 자바 익명 클래스
  6. 자바 싱글톤 클래스
  7. 자바 리플렉션
  8. 자바 ObjectOutputStream 클래스
  9. 자바 제네릭
  10. 자바 파일 클래스