bufferedoutputstream 예제

버퍼드OutputStream 클래스는 출력 스트림에 직접 쓰지 않습니다. 실제로 버퍼에 쓰고 더 나은 성능을 위해 스트림에 기록됩니다. 생성자에서 이 버퍼의 크기를 설정하거나 기본값으로 둘 수 있습니다. close() 메서드가 호출되면 기록되지 않은 버퍼가 스트림에 기록됩니다. 이를 감시하려면 위의 예제에서 stream.close()를 제거하고 프로그램을 다시 실행해 보십시오. 파일에 아무 것도 기록되지 않습니다. 다음 예제에서는 java.io.BufferedOutputStream.write(바이트[] b, int off, int len) 메서드의 사용을 보여 주었습니다. 다음은 버퍼링된 InputStream을 보여 주는 예제입니다. 위의 예제에서 사용된 것은 FilterOutputStream 클래스에서 상속된 write(바이트[] b)입니다. 이 예제에서는 FileOutputStream 개체에 연결된 BufferedOutputStream 개체에 텍스트 정보를 작성합니다. 플러시())는 한 스트림의 데이터를 플러시하고 다른 스트림으로 보냅니다. 한 스트림을 다른 스트림과 연결한 경우 필요합니다. 이 예제에서는 버퍼링된 OutputStream 클래스 및 해당 사용에 대해 설명합니다.

클래스는 버퍼링된 출력 스트림을 구현합니다. 이러한 출력 스트림을 설정 하 여 응용 프로그램은 반드시 작성 된 각 바이트에 대 한 기본 시스템에 대 한 호출을 발생 하지 않고 기본 출력 스트림에 바이트를 쓸 수 있습니다. 지정된 기본 출력 스트림에 데이터를 작성하는 새 버퍼링된 출력 스트림을 만듭니다. BufferedOutputStream 인스턴스를 완료하거나 출력이 예상과 다를 때 항상 close() 메서드를 호출해야 합니다. BufferedInputStream 및 BufferedOutputStream은 각각 읽고 쓰는 동안 데이터를 저장하기 위해 버퍼라고도 하는 바이트의 내부 배열을 사용합니다. 버퍼링된 스트림은 일반적으로 유사한 비버퍼 링 스트림보다 효율적입니다. . 위의 프로그램을 실행하면 파일 이름 “TextFile.txt”가 지정된 문자열 값으로 만들어집니다. java.io.BufferedInputStream.Write(바이트[바이트], int, int) 메서드는 지정된 바이트 배열 b에서 len 바이트 오프셋에서 시작하는 스트림에 씁니다.

이 스트림의 버퍼만큼 큰 길이의 경우 버퍼를 플러시하고 바이트를 출력 스트림에 직접 씁니다. 이러한 모든 메서드는 바이트 배열을 인수로 받아들이기 때문에 getBytes() 메서드를 사용해야 합니다. 우리가 컴파일하고 위의 프로그램을 실행하자,이 다음과 같은 결과를 생성합니다 – 그것은 FileOutputStream에서 모든 방법을 상속하고 몇 가지 새로운 방법을 정의합니다. 버퍼드 OutputStream이 파일에 쓰는 데 사용되는 방법을 보려면 이 소스 코드로 SimpleBufferedOutputStreamExample라는 클래스를 만듭니다: 마지막으로 모든 메서드가 IOException을 throw할 수 있으므로 try-catch에서 버퍼링된 OutputStream 사용량을 래핑해야 합니다. 블록. 스트림을 닫지 않고 버퍼를 파일로 플러시해야 하는 경우 flush() 메서드를 사용할 수 있습니다.