I den här handledningen lär vi oss om Java BufferedWriter och dess metoder med hjälp av exempel.
Paketets BufferedWriter
klass java.io
kan användas med andra författare för att skriva data (i tecken) mer effektivt.
Det utvidgar den abstrakta klassen Writer
.
Arbeta med BufferedWriter
Den BufferedWriter
har en intern buffert på 8192 tecken .
Under skrivoperationen skrivs tecknen till den interna bufferten istället för disken. När bufferten är fylld eller författaren är stängd skrivs hela tecknen i bufferten till disken.
Följaktligen minskar antalet kommunikationer till skivan. Det är därför det är snabbare att skriva tecken BufferedWriter
.
Skapa en BufferedWriter
För att skapa ett BufferedWriter
måste vi först importera java.io.BufferedWriter
paketet. När vi väl har importerat paketet här kan vi skapa den buffrade författaren.
// Creates a FileWriter FileWriter file = new FileWriter(String name); // Creates a BufferedWriter BufferedWriter buffer = new BufferedWriter(file);
I exemplet ovan har vi skapat en BufferedWriter
namngiven buffert med den FileWriter
namngivna filen.
Här har den interna bufferten i BufferedWriter
standardstorleken 8192 tecken. Vi kan dock också specificera storleken på den interna bufferten.
// Creates a BufferedWriter with specified size internal buffer BufferedWriter buffer = new BufferedWriter(file, int size);
Bufferten hjälper till att skriva tecken till filerna mer effektivt.
Metoder för BufferedWriter
Den BufferedWriter
klass erbjuder implementeringar för olika metoder som finns i Writer
.
skriv () Metod
write()
- skriver en enda karaktär till författarens interna buffertwrite(char() array)
- skriver karaktärerna från den angivna matrisen till författarenwrite(String data)
- skriver den angivna strängen till författaren
Exempel: BufferedWriter för att skriva data till 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 exemplet ovan har vi skapat en buffrad författare med namnet output tillsammans med FileWriter
. Den buffrade författaren är länkad till filen output.txt .
FileWriter file = new FileWriter("output.txt"); BufferedWriter output = new BufferedWriter(file);
För att skriva data till filen har vi använt write()
metoden.
Här när vi kör programmet fylls output.txt- filen med följande innehåll.
This is a line of text inside the file.
flush () Metod
För att rensa den interna bufferten kan vi använda flush()
metoden. Denna metod tvingar författaren att skriva all data som finns i bufferten till målfilen.
Antag till exempel att vi har en tom fil med namnet 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 spolas till filen.
När vi kör programmet fylls filen output.txt med texten som representeras av strängdata.
close () Metod
För att stänga den buffrade författaren kan vi använda close()
metoden. När close()
metoden har anropats kan vi inte använda författaren för att skriva data.
Andra metoder för BufferedWriter
Metod | Beskrivning |
---|---|
newLine() | infogar en ny rad till författaren |
append() | infogar det angivna tecknet i den aktuella författaren |
För att lära dig mer, besök Java BufferedWriter (officiell Java-dokumentation).