codestory

Die Anleitung zu Java BufferedWriter

  1. BufferedWriter
  2. Examples

1. BufferedWriter

BufferedWriter ist eine Unterklasse von Writer, die benutzt wird um das Textschreiben in Zeichenausgabestream (character output stream) zu vereinfachen und die Leistung vom Programm zu erhöhen.
Der Operationsgrundsatz von BufferedWriter ist gleich wie die folgende Abbildung:
BufferedWriter packt ein Objekt Writer innerhalb, das für das Schreiben von Daten (z.B eine Datei) in das Ziel verantwortlich ist (chẳng hạn file).
BufferedWrite überschreibt (override) die von seiner Vaterklasse geerbten Methode,z.B write(), write(char[]),... um sichzustellen, dass die Daten in buffer , nicht in das Ziel (z.B Datei) geschreiben werden. Wenn buffer aber voll ist, werden allen Daten im buffer zum Writer geschoben und buffer befreit. Sie können auf das Methode BufferedWriter.flush() aufrufen um alle Daten im buffer zum Writer zu verschieben und buffer zu befreien. Die Daten werden vom buffer zum Writer geschoben wenn das Methode BufferedWriter.close() aufgerufen wird.
Der oben erwähnte sogenannte "buffer" ist eigentlich ein Zeichenarray. Sie können die Größe des Array festlegen wenn sie das Objekt BufferedWriter initialisieren.
Die Daten, die vorübergehend in buffer geschrieben werden, minieren das kontinuierliche Schreiben auf das Ziel (z.B Dateien auf der Festplatte) und verbessern die Programmleistung.
BufferedWriter​ constructors
BufferedWriter​(Writer out)     

BufferedWriter​(Writer out, int sz)
  • Der Kontructor BufferedWriter(Writer,int) erstellt ein Objekt BufferedWriter mit dem Array buffer mit der angegebenen Größe.
  • Der Kontructor BufferedWriter(Writer) erstellt ein Objekt BufferedWriter mit dem Array buffer mit der Defaultgröße (sz = 8192).

2. Examples

Z.B: Erstellen Sie ein BufferedWriter mit der Arraygröße von buffer16384. Achtung: Das Datentyp char von Java ist 2 bytes. D.h, buffer hat die Kapazität von 32786 bytes (32 KB).
File outFile = new File("/Volumes/Data/test/outfile.txt");
outFile.getParentFile().mkdirs(); // Create parent folder.

// Create Writer to write a file.
Writer writer = new FileWriter(outFile, StandardCharsets.UTF_8);

// Create a BufferedWriter with buffer array size of 16384 (32786 bytes = 32 KB).
BufferedWriter br = new BufferedWriter(writer, 16384);
Erstellen Sie ein BufferedWriter mit der Defaultgröße vom Array buffer (8192), das mit 16384 bytes (16 KB) äquivalent ist.
File outFile = new File("/Volumes/Data/test/outfile.txt");
outFile.getParentFile().mkdirs(); // Create parent folder.

// Create Writer to write a file.
Writer writer = new FileWriter(outFile, StandardCharsets.UTF_8);

// Create a BufferedWriter with default buffer array size of 8192 (16384 bytes = 16 KB).
BufferedWriter br = new BufferedWriter(writer);
Die volle Code vom Beispiel:
BufferedWriterEx1.java
package org.o7planning.bufferedwriter.ex;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.nio.charset.StandardCharsets;

public class BufferedWriterEx1 {

    public static void main(String[] args) throws IOException {
        File outFile = new File("/Volumes/Data/test/outfile.txt");
        
        outFile.getParentFile().mkdirs(); // Create parent folder.
        
        // Create Writer to write a file.
        Writer writer = new FileWriter(outFile, StandardCharsets.UTF_8);

        // Create a BufferedWriter with buffer array size of 16384 (32786 bytes = 32 KB).
        BufferedWriter br = new BufferedWriter(writer, 16384);
    
        br.write("Line 1");
        br.newLine();  
        br.write("Line 2");
        br.flush();
        
        br.newLine();
        br.write("Line 3");
        
        br.close();
    }
}
Output:
outfile.txt
Line 1
Line 2
Line 3

Die Anleitungen Java IO

Show More