Selles õpetuses õpime näidete abil Java BufferedWriterit ja selle meetodeid.
BufferedWriter
Klassi java.io
pakett saab kasutada teiste kirjanike kirjutada andmeid (märki) tõhusamalt.
See laiendab abstraktset klassi Writer
.
BufferedWriteri töö
BufferedWriter
Väidab sisemine puhver 8192 tähemärki .
Kirjutamise ajal kirjutatakse märgid ketta asemel sisemisse puhvrisse. Kui puhver on täidetud või kirjutaja suletud, kirjutatakse kogu puhvris olevad märgid kettale.
Seega väheneb kettale suhtlemise arv. Seetõttu on märkide kirjutamine kiirem BufferedWriter
.
Looge puhverdatud kirjutaja
A loomiseks BufferedWriter
peame java.io.BufferedWriter
esmalt pakendi importima . Kui pakett on siia imporditud, saame puhverdatud kirjutaja luua.
// Creates a FileWriter FileWriter file = new FileWriter(String name); // Creates a BufferedWriter BufferedWriter buffer = new BufferedWriter(file);
Ülaltoodud näites oleme loonud nimega failiga BufferedWriter
nimelise puhvri FileWriter
.
Siin on sisemise puhvri BufferedWriter
vaikimisi suurus 8192 tähemärki. Siiski võime täpsustada ka sisemise puhvri suuruse.
// Creates a BufferedWriter with specified size internal buffer BufferedWriter buffer = new BufferedWriter(file, int size);
Puhver aitab tõhusamalt tähemärke failidesse kirjutada.
BufferedWriteri meetodid
BufferedWriter
Tasemega näeb implementation erinevaid meetodeid esinevad Writer
.
kirjuta () meetod
write()
- kirjutab kirjaniku sisemisse puhvrisse ühe tähemärgiwrite(char() array)
- kirjutab tähemärgid määratud massiivist kirjutajalewrite(String data)
- kirjutab määratud stringi kirjutajale
Näide: BufferedWriter andmete faili kirjutamiseks
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(); ) ) )
Ülaltoodud näites oleme loonud koos puhverdatud kirjutaja nimega väljund FileWriter
. Puhverdatud kirjutaja on lingitud failiga output.txt .
FileWriter file = new FileWriter("output.txt"); BufferedWriter output = new BufferedWriter(file);
Andmete faili kirjutamiseks oleme kasutanud write()
meetodit.
Siin on programmi käivitamisel fail output.txt täidetud järgmise sisuga.
This is a line of text inside the file.
loputage () meetod
Sisemise puhvri tühjendamiseks saame kasutada flush()
meetodit. See meetod sunnib kirjutajat kirjutama kõik puhvris olevad andmed sihtfaili.
Oletame näiteks, et meil on tühi fail nimega 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(); ) ) )
Väljund
Andmed viiakse faili.
Programmi käivitamisel täidetakse fail output.txt tekstiandmetega.
close () meetod
Puhverdatud kirjutaja sulgemiseks saame kasutada close()
meetodit. Kui close()
meetod on välja kutsutud, ei saa me andmete kirjutamiseks kirjutajat kasutada.
BufferedWriteri muud meetodid
Meetod | Kirjeldus |
---|---|
newLine() | lisab kirjanikule uue rea |
append() | lisab määratud märgi praegusele kirjutajale |
Lisateabe saamiseks külastage Java BufferedWriterit (ametlik Java dokumentatsioon).