Die Anleitung zu Java BufferedOutputStream
1. BufferedOutputStream
BufferedOutputStream ist eine Unterklasse von OutputStream, mit der das Schreiben von Text in einen binären Ausgabestream (binary output stream) vereinfacht und die Programmleistung verbessert wird.
- OutputStream
- ByteArrayOutputStream
- ObjectOutputStream
- PrintStream
- FileOutputStream
- FilterOutputStream
- PipedOutputStream
- DataOutputStream
- InflaterOutputStream
- DigestOutputStream
- DeflaterOutputStream
- CipherOutputStream
- CheckedOutputStream
Der Operationsgrundsatz von BufferedOutputStream ist so gleich wie die folgende Abbildung:
BufferedOutputStream wickelt ein Objekt OutputStream, das Objekt hat die Aufgabe zum Datenschreiben ins Ziel (z.B die File).
BufferedOutputStream überschreibt (override) die aus seiner Vaterklasse geerbten Methode, z.B write(), write(byte[]),... um sicherzustellen, dass die Daten im buffer , nicht ins Ziel (die Datei) geschrieben werden. Aber wenn buffer voll ist, werden alle Daten auf buffer im OutputStream geschoben und befreit buffer. Sie können die Methode BufferedOutputStream.flush() aufrufen um alle Daten auf buffer nach OutputStream zu schieben und buffer zu befreien. Die Daten werden auch vom buffer nach OutputStream geschoben wenn die Methode BufferedOutputStream.close() aufgerufen wird.
Die oben erwähnt sogenannte "buffer" ist eigentlich ein Array byte. Sie können die Größe des Array bei der Erstellung eines Objekt BufferedOutputStream festlegen.
Die Daten, die vorläufig in den buffer geschrieben werden, minimieren das kontinuierliche Schreiben auf das Ziel (z.B die File auf der Festplatte) und verbessern die Leistung des Programms.
BufferedOutputStream constructors
BufferedOutputStream(OutputStream out)
BufferedOutputStream(OutputStream out, int size)
- Der Contructor BufferedOutputStream(OutputStream,int) erstellt ein Objekt BufferedOutputStream mit dem Array buffer, dessen Größe festgelegt ist.
- Der Contructor BufferedOutputStream(OutputStream) erstellt ein Objekt BufferedOutputStream mit dem Array buffer, dessen Größe default ist (size = 8192).
2. Examples
Z.B: Erstellen Sie ein BufferedOutputStream mit der Größe vom Array buffer als 16384. D.h buffer hat die Kapazität von 16384 bytes (16 KB).
File outFile = new File("/Volumes/Data/test/outfile.txt");
outFile.getParentFile().mkdirs(); // Create parent folder.
// Create OutputStream to write a file.
OutputStream os = new FileOutputStream(outFile);
// Create a BufferedOutputStream with buffer array size of 16384 (16384 bytes = 16 KB).
BufferedOutputStream br = new BufferedOutputStream(os, 16384);
Erstellen Sie ein BufferedOutputStream mit der Defaultgröße vom Array buffer (8192), entspricht 8192 bytes (8 KB).
File outFile = new File("/Volumes/Data/test/outfile.txt");
outFile.getParentFile().mkdirs(); // Create parent folder.
// Create OutputStream to write a file.
OutputStream os = new FileOutputStream(outFile);
// Create a BufferedOutputStream with default buffer array size of 8192 (8192 bytes = 8 KB).
BufferedOutputStream br = new BufferedOutputStream(os);
Die volle Code vom Beispiel:
BufferedOutputStreamEx1.java
package org.o7planning.bufferedoutputstream.ex;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class BufferedOutputStreamEx1 {
private static final String file_path = "/Volumes/Data/test/outfile.txt";
public static void main(String[] args) throws IOException {
File outFile = new File(file_path);
outFile.getParentFile().mkdirs(); // Create parent folder.
// Create OutputStream to write a file.
OutputStream os = new FileOutputStream(outFile);
// Create a BufferedOutputStream with buffer array size of 16384 (16384 bytes = 16 KB).
BufferedOutputStream br = new BufferedOutputStream(os, 16384);
br.write("JP".getBytes("UTF-8"));
br.write('\n');
br.write("日本".getBytes("UTF-8"));
br.write('\n');
br.flush();
br.write('\n');
br.write("八洲".getBytes("UTF-8"));
br.close();
}
}
Output:
outfile.txt
JP
日本
八洲
Die Anleitungen Java IO
- Die Anleitung zu Java CharArrayWriter
- Die Anleitung zu Java FilterReader
- Die Anleitung zu Java FilterWriter
- Die Anleitung zu Java PrintStream
- Die Anleitung zu Java BufferedReader
- Die Anleitung zu Java BufferedWriter
- Die Anleitung zu Java StringReader
- Die Anleitung zu Java StringWriter
- Die Anleitung zu Java PipedReader
- Die Anleitung zu Java LineNumberReader
- Die Anleitung zu Java PushbackReader
- Die Anleitung zu Java PrintWriter
- Die Anleitung zu Java IO Binary Streams
- Die Anleitung zu Java IO Character Streams
- Die Anleitung zu Java BufferedOutputStream
- Die Anleitung zu Java ByteArrayOutputStream
- Die Anleitung zu Java DataOutputStream
- Die Anleitung zu Java PipedInputStream
- Die Anleitung zu Java OutputStream
- Die Anleitung zu Java ObjectOutputStream
- Die Anleitung zu Java PushbackInputStream
- Die Anleitung zu Java SequenceInputStream
- Die Anleitung zu Java BufferedInputStream
- Die Anleitung zu Java Reader
- Die Anleitung zu Java Writer
- Die Anleitung zu Java FileReader
- Die Anleitung zu Java FileWriter
- Die Anleitung zu Java CharArrayReader
- Die Anleitung zu Java ByteArrayInputStream
- Die Anleitung zu Java DataInputStream
- Die Anleitung zu Java ObjectInputStream
- Die Anleitung zu Java InputStreamReader
- Die Anleitung zu Java OutputStreamWriter
- Die Anleitung zu Java InputStream
- Die Anleitung zu Java FileInputStream
Show More
- Anleitungen Java Servlet/JSP
- Die Anleitungen Java New IO
- Anleitungen Spring Cloud
- Die Anleitungen Oracle Java ADF
- Die Anleitungen Java Collections Framework
- Java Grundlagen
- Die Anleitungen Java Date Time
- Java Open Source Bibliotheken
- Anleitungen Java Web Services
- Die Anleitungen Struts2 Framework
- Anleitungen Spring Boot