java
이 자습서에서는 예제를 통해 Java BufferedOutputStream 및 해당 메서드에 대해 알아봅니다.
BufferedOutputStream
java.io
클래스 패키지는 데이터(바이트 단위)를 보다 효율적으로 쓰기 위해 다른 출력 스트림과 함께 사용됩니다.
OutputStream
확장 추상 클래스.
<시간>
BufferedOutputStream
내부 8192바이트의 버퍼를 유지합니다. .
쓰기 작업 중에 바이트는 디스크 대신 내부 버퍼에 기록됩니다. 버퍼가 채워지거나 스트림이 닫히면 전체 버퍼가 디스크에 기록됩니다.
따라서 디스크에 대한 통신 수가 줄어듭니다. 이것이 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
클래스는 OutputStream
에서 다양한 메소드에 대한 구현을 제공합니다. 수업.
write()
- 출력 스트림의 내부 버퍼에 단일 바이트를 씁니다.write(byte[] array)
- 지정된 배열의 바이트를 출력 스트림에 씁니다.write(byte[] arr, int start, int length)
- length와 같은 바이트 수를 씁니다. start 위치에서 시작하는 배열의 출력 스트림으로
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()
를 사용할 수 있습니다. 방법. 이 메서드는 출력 스트림이 버퍼에 있는 모든 데이터를 대상 파일에 쓰도록 합니다. 예를 들어,
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()
를 사용할 수 있습니다. 방법. 메서드가 호출되면 출력 스트림을 사용하여 데이터를 쓸 수 없습니다.
자세한 내용은 Java BufferedOutputStream(공식 Java 설명서)을 참조하십시오.
java
자바 작성기 클래스 이 자습서에서는 예제를 통해 Java Writer, 해당 하위 클래스 및 메서드에 대해 알아봅니다. Writer java.io 클래스 패키지는 문자 스트림을 나타내는 추상 슈퍼클래스입니다. Writer 이후 추상 클래스이므로 그 자체로는 유용하지 않습니다. 그러나 하위 클래스를 사용하여 데이터를 쓸 수 있습니다. 작가의 하위 클래스 Writer의 기능을 사용하려면 , 우리는 그 하위 클래스를 사용할 수 있습니다. 그 중 일부는 다음과 같습니다. BufferedWriter OutputStreamWriter
자바 PrintWriter 클래스 이 자습서에서는 예제를 통해 Java PrintWriter와 그 print() 및 printf() 메서드에 대해 배웁니다. PrintWriter java.io 클래스 패키지는 일반적으로 읽을 수 있는 형식(텍스트)으로 출력 데이터를 작성하는 데 사용할 수 있습니다. 추상 클래스 Writer를 확장합니다. . PrintWriter 작업 다른 작성자와 달리 PrintWriter 원시 데이터를 변환합니다(int , float , char 등)을 텍스트 형식으로 변환합니다. 그런 다음 형식이 지