Java BufferedWriter (met voorbeelden)

In deze tutorial leren we met behulp van voorbeelden over Java BufferedWriter en zijn methoden.

De BufferedWriterklasse van het java.iopakket kan met andere schrijvers worden gebruikt om gegevens (in tekens) efficiënter te schrijven.

Het breidt de abstracte klasse uit Writer.

Werking van BufferedWriter

Het BufferedWriteronderhoudt een interne buffer van 8192 tekens .

Tijdens de schrijfbewerking worden de tekens naar de interne buffer geschreven in plaats van naar de schijf. Zodra de buffer is gevuld of de schrijver is gesloten, worden alle tekens in de buffer naar de schijf geschreven.

Daarom wordt het aantal communicatie met de schijf verminderd. Dit is de reden waarom het schrijven van tekens sneller gaat met BufferedWriter.

Maak een BufferedWriter

Om een ​​te maken BufferedWriter, moeten we eerst het java.io.BufferedWriterpakket importeren . Zodra we het pakket hebben geïmporteerd, is hier hoe we de gebufferde schrijver kunnen maken.

 // Creates a FileWriter FileWriter file = new FileWriter(String name); // Creates a BufferedWriter BufferedWriter buffer = new BufferedWriter(file); 

In het bovenstaande voorbeeld hebben we een BufferedWriterbenoemde buffer gemaakt met het FileWritergenoemde bestand.

Hier heeft de interne buffer van BufferedWriterde standaardgrootte 8192 tekens. We kunnen echter ook de grootte van de interne buffer specificeren.

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

De buffer zal helpen om karakters efficiënter naar de bestanden te schrijven.

Methoden van BufferedWriter

De BufferedWriterklasse biedt implementaties voor verschillende methoden die aanwezig zijn in Writer.

write () methode

  • write() - schrijft een enkel teken naar de interne buffer van de schrijver
  • write(char() array) - schrijft de tekens uit de opgegeven array naar de schrijver
  • write(String data) - schrijft de opgegeven string naar de schrijver

Voorbeeld: BufferedWriter om gegevens naar een bestand te schrijven

 import java.io.FileWriter; import java.io.BufferedWriter; public class Main ( public static void main(String args()) ( String data = "This is the data in the output file"; try ( // Creates a FileWriter FileWriter file = new FileWriter("output.txt"); // Creates a BufferedWriter BufferedWriter output = new BufferedWriter(file); // Writes the string to the file output.write(data); // Closes the writer output.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) ) 

In het bovenstaande voorbeeld hebben we een gebufferde schrijver gemaakt met de naam output samen met FileWriter. De gebufferde schrijver is gekoppeld aan het output.txt- bestand.

 FileWriter file = new FileWriter("output.txt"); BufferedWriter output = new BufferedWriter(file); 

Om gegevens naar het bestand te schrijven, hebben we de write()methode gebruikt.

Hier wanneer we het programma uitvoeren, wordt het bestand output.txt gevuld met de volgende inhoud.

 This is a line of text inside the file. 

flush () methode

Om de interne buffer leeg te maken, kunnen we de flush()methode gebruiken. Deze methode dwingt de schrijver om alle gegevens in de buffer naar het bestemmingsbestand te schrijven.

Stel dat we een leeg bestand hebben met de naam output.txt .

 import java.io.FileWriter; import java.io.BufferedWriter; public class Main ( public static void main(String() args) ( String data = "This is a demo of the flush method"; try ( // Creates a FileWriter FileWriter file = new FileWriter(" flush.txt"); // Creates a BufferedWriter BufferedWriter output = new BufferedWriter(file); // Writes data to the file output.write(data); // Flushes data to the destination output.flush(); System.out.println("Data is flushed to the file."); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Uitvoer

 De gegevens worden naar het bestand gespoeld. 

Wanneer we het programma uitvoeren, wordt het bestand output.txt gevuld met de tekst die wordt vertegenwoordigd door de stringgegevens .

close () Methode

Om de gebufferde schrijver te sluiten, kunnen we de close()methode gebruiken. Zodra de close()methode is aangeroepen, kunnen we de schrijver niet gebruiken om de gegevens te schrijven.

Andere methoden van BufferedWriter

Methode Omschrijving
newLine() voegt een nieuwe regel toe aan de schrijver
append() voegt het opgegeven teken in de huidige schrijver in

Bezoek voor meer informatie Java BufferedWriter (officiële Java-documentatie).

Interessante artikelen...