Java BufferedWriter (med eksempler)

I denne opplæringen vil vi lære om Java BufferedWriter og dens metoder ved hjelp av eksempler.

Den BufferedWriterklassen av java.iopakken kan brukes med andre forfattere til å skrive data (i tegn) mer effektivt.

Det utvider den abstrakte klassen Writer.

Arbeid med BufferedWriter

Den BufferedWriteropprettholder en intern buffer på 8192 tegn .

Under skriveoperasjonen skrives tegnene til den interne bufferen i stedet for disken. Når bufferen er fylt eller forfatteren er lukket, blir hele tegnene i bufferen skrevet til disken.

Derfor reduseres antall kommunikasjoner til disken. Dette er grunnen til at det er raskere å skrive tegn BufferedWriter.

Lag en BufferedWriter

For å opprette en BufferedWriter, må vi importere java.io.BufferedWriterpakken først. Når vi først har importert pakken, kan vi lage den bufrede forfatteren.

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

I eksemplet ovenfor har vi opprettet en BufferedWriternavngitt buffer med den FileWriternavngitte filen.

Her har den interne bufferen BufferedWritertil standardstørrelsen 8192 tegn. Vi kan imidlertid også spesifisere størrelsen på den interne bufferen.

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

Bufferen vil bidra til å skrive tegn til filene mer effektivt.

Metoder for BufferedWriter

Den BufferedWriterklasse gir implementeringer for forskjellige metoder som er tilstede i Writer.

skriv () Metode

  • write() - skriver et enkelt tegn til den interne bufferen til forfatteren
  • write(char() array) - skriver tegnene fra den spesifiserte matrisen til forfatteren
  • write(String data) - skriver den angitte strengen til forfatteren

Eksempel: BufferedWriter for å skrive data til en fil

 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(); ) ) ) 

I eksemplet ovenfor har vi opprettet en bufret forfatter med navnet output sammen med FileWriter. Den bufrede forfatteren er koblet til output.txt- filen.

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

For å skrive data til filen har vi brukt write()metoden.

Når vi kjører programmet, blir output.txt- filen fylt med følgende innhold.

 This is a line of text inside the file. 

flush () Metode

For å fjerne den interne bufferen kan vi bruke flush()metoden. Denne metoden tvinger skribenten til å skrive alle data som er tilstede i bufferen til destinasjonsfilen.

Anta for eksempel at vi har en tom fil som heter 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(); ) ) ) 

Produksjon

 Data skylles til filen. 

Når vi kjører programmet, fylles filen output.txt med teksten representert av strengdataene .

lukk () Metode

For å lukke den bufrede forfatteren kan vi bruke close()metoden. Når close()metoden er kalt, kan vi ikke bruke forfatteren til å skrive dataene.

Andre metoder for BufferedWriter

Metode Beskrivelse
newLine() setter inn en ny linje til forfatteren
append() setter inn det angitte tegnet til den nåværende skribenten

For å lære mer, besøk Java BufferedWriter (offisiell Java-dokumentasjon).

Interessante artikler...