Java BufferedWriter (z primeri)

V tej vadnici bomo s pomočjo primerov spoznali Java BufferedWriter in njegove metode.

BufferedWriterRazred java.iopaket se lahko uporablja skupaj z drugimi pisci bolj učinkovito zapisovanje podatkov (v znakih).

Razširja abstraktni razred Writer.

Delovanje BufferedWriter

BufferedWriterOhranja 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.BufferedWriterpaket. 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 BufferedWriterz FileWriterimenovano datoteko ustvarili imenovani vmesni pomnilnik .

Tu ima notranji vmesni pomnilnik BufferedWriterprivzeto 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

BufferedWriterRazred določa izvedb za različne metode, ki so prisotne v Writer.

metoda write ()

  • write() - v notranji vmesnik zapisovalnika zapiše en sam znak
  • write(char() array) - zapisuje znake iz določene matrike v zapisovalnik
  • write(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).

Zanimive Članki...