I denne vejledning lærer vi om Java BufferedWriter og dens metoder ved hjælp af eksempler.
Den BufferedWriter
klasse af java.io
pakken kan bruges med andre forfattere til at skrive data (i tegn) mere effektivt.
Det udvider den abstrakte klasse Writer
.
Arbejde med BufferedWriter
Den BufferedWriter
opretholder 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 BufferedWriter
skal vi først importere java.io.BufferedWriter
pakken. 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 BufferedWriter
navngivet buffer med den FileWriter
navngivne fil.
Her har den interne buffer i BufferedWriter
standardstø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 BufferedWriter
klasse giver implementeringer for forskellige metoder til stede i Writer
.
skriv () metode
write()
- skriver et enkelt tegn til forfatterens interne bufferwrite(char() array)
- skriver tegnene fra det angivne array til forfatterenwrite(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).