Java BufferedWriter (med eksempler)

I denne vejledning lærer vi om Java BufferedWriter og dens metoder ved hjælp af eksempler.

Den BufferedWriterklasse af java.iopakken kan bruges med andre forfattere til at skrive data (i tegn) mere effektivt.

Det udvider den abstrakte klasse Writer.

Arbejde med BufferedWriter

Den BufferedWriteropretholder en intern buffer på 8192 tegn .

Under skriveoperationen skrives tegnene til den interne buffer i stedet for disken. Når bufferen er fyldt, eller forfatteren er lukket, skrives hele tegnene i bufferen til disken.

Derfor reduceres antallet af kommunikation til disken. Dette er grunden til at skrive tegn er hurtigere at bruge BufferedWriter.

Opret en BufferedWriter

For at oprette en BufferedWriterskal vi først importere java.io.BufferedWriterpakken. Når vi først har importeret pakken, kan vi oprette en bufferforfatter.

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

I ovenstående eksempel har vi oprettet en BufferedWriternavngivet buffer med den FileWriternavngivne fil.

Her har den interne buffer i BufferedWriterstandardstørrelsen 8192 tegn. Vi kan dog også specificere størrelsen på den interne buffer.

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

Bufferen hjælper med at skrive tegn til filerne mere effektivt.

Metoder til BufferedWriter

Den BufferedWriterklasse giver implementeringer for forskellige metoder til stede i Writer.

skriv () metode

  • write() - skriver et enkelt tegn til forfatterens interne buffer
  • write(char() array) - skriver tegnene fra det angivne array til forfatteren
  • write(String data) - skriver den angivne streng til forfatteren

Eksempel: BufferedWriter til at 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 ovenstående eksempel har vi oprettet en bufferforfatter med navnet output sammen med FileWriter. Den buffrede forfatter er knyttet til output.txt- filen.

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

For at skrive data til filen har vi brugt write()metoden.

Her, når vi kører programmet, udfyldes output.txt- filen med følgende indhold.

 This is a line of text inside the file. 

flush () Metode

For at rydde den interne buffer kan vi bruge flush()metoden. Denne metode tvinger forfatteren til at skrive alle data, der er til stede i bufferen, til destinationsfilen.

Antag for eksempel, at vi har en tom fil med navnet 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(); ) ) ) 

Produktion

 Data skylles til filen. 

Når vi kører programmet, udfyldes filen output.txt med teksten repræsenteret af strengdataene.

close () Metode

For at lukke den buffrede forfatter kan vi bruge close()metoden. Når close()metoden er kaldt, kan vi ikke bruge forfatteren til at skrive dataene.

Andre metoder til BufferedWriter

Metode Beskrivelse
newLine() indsætter en ny linje til forfatteren
append() indsætter det angivne tegn i den aktuelle forfatter

For at lære mere, besøg Java BufferedWriter (officiel Java-dokumentation).

Interessante artikler...