V tej vadnici bomo s pomočjo primerov spoznali Java BufferedWriter in njegove metode.
BufferedWriter
Razred java.io
paket se lahko uporablja skupaj z drugimi pisci bolj učinkovito zapisovanje podatkov (v znakih).
Razširja abstraktni razred Writer
.
Delovanje BufferedWriter
BufferedWriter
Ohranja notranji medpomnilnik 8192 znakov .
Med operacijo pisanja se znaki zapišejo v notranji vmesnik namesto na disk. Ko je vmesnik napolnjen ali je zapisovalnik zaprt, se celotni znaki v vmesniku zapišejo na disk.
Zato se zmanjša število komunikacij na disk. Zato je pisanje znakov hitrejše BufferedWriter
.
Ustvarite puferji
Če želite ustvariti a BufferedWriter
, moramo najprej uvoziti java.io.BufferedWriter
paket. Ko enkrat uvozimo paket, je to, kako lahko ustvarimo medpomnilnik.
// Creates a FileWriter FileWriter file = new FileWriter(String name); // Creates a BufferedWriter BufferedWriter buffer = new BufferedWriter(file);
V zgornjem primeru smo BufferedWriter
z FileWriter
imenovano datoteko ustvarili imenovani vmesni pomnilnik .
Tu ima notranji vmesni pomnilnik BufferedWriter
privzeto velikost 8192 znakov. Lahko pa določimo tudi velikost notranjega vmesnega pomnilnika.
// Creates a BufferedWriter with specified size internal buffer BufferedWriter buffer = new BufferedWriter(file, int size);
Medpomnilnik bo učinkoviteje zapisoval znake v datoteke.
Metode BufferedWriter
BufferedWriter
Razred določa izvedb za različne metode, ki so prisotne v Writer
.
metoda write ()
write()
- v notranji vmesnik zapisovalnika zapiše en sam znakwrite(char() array)
- zapisuje znake iz določene matrike v zapisovalnikwrite(String data)
- zapiše določen niz v zapisovalnik
Primer: BufferedWriter za zapisovanje podatkov v datoteko
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(); ) ) )
V zgornjem primeru smo skupaj z FileWriter
. Medpomnilnik je povezan z datoteko output.txt .
FileWriter file = new FileWriter("output.txt"); BufferedWriter output = new BufferedWriter(file);
Za zapisovanje podatkov v datoteko smo uporabili write()
metodo.
Ko zaženemo program, je datoteka output.txt napolnjena z naslednjo vsebino.
This is a line of text inside the file.
flush () metoda
Za čiščenje notranjega medpomnilnika lahko uporabimo flush()
metodo. Ta metoda prisili zapisovalnik, da v ciljno datoteko zapiše vse podatke v vmesnem pomnilniku.
Denimo, da imamo prazno datoteko z imenom 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(); ) ) )
Izhod
Podatki se odstranijo v datoteko.
Ko zaženemo program, se datoteka output.txt napolni z besedilom, ki ga predstavljajo nizovni podatki.
metoda close ()
Za zapiranje medpomnilnika lahko uporabimo close()
metodo. Ko je close()
metoda enkrat poklicana, ne moremo uporabiti zapisovalnika za zapis podatkov.
Druge metode BufferedWriter
Metoda | Opis |
---|---|
newLine() | vstavi novo vrstico pisatelju |
append() | vstavi določen znak trenutnemu zapisovalniku |
Če želite izvedeti več, obiščite Java BufferedWriter (uradna dokumentacija Java).