Java BufferedWriter (s príkladmi)

V tomto výučbe sa pomocou príkladov dozvieme o prostredí Java BufferedWriter a jeho metódach.

BufferedWriterTrieda java.ioobalu môže byť použitý s inými autormi na zápis dát (písmenami) efektívnejšie.

Rozširuje abstraktnú triedu Writer.

Fungovanie BufferedWriter

BufferedWriterUdržuje vnútornej vyrovnávacej pamäte 8192 znakov .

Počas operácie zápisu sa znaky zapisujú do internej medzipamäte namiesto na disk. Po naplnení vyrovnávacej pamäte alebo zatvorení zapisovacieho modulu sa na disk zapíšu všetky znaky vo vyrovnávacej pamäti.

Preto sa zníži počet komunikácií na disk. Preto je písanie znakov rýchlejšie BufferedWriter.

Vytvorte BufferedWriter

Aby sme vytvorili BufferedWriter, musíme najskôr importovať java.io.BufferedWriterbalík. Po importovaní balíka tu môžeme vytvoriť zapisovateľný modul do vyrovnávacej pamäte.

 // Creates a FileWriter FileWriter file = new FileWriter(String name); // Creates a BufferedWriter BufferedWriter buffer = new BufferedWriter(file); 

Vo vyššie uvedenom príklade sme vytvorili BufferedWriterpomenovanú vyrovnávaciu pamäť s FileWriterpomenovaným súborom.

Tu má interná vyrovnávacia pamäť BufferedWriterpredvolenú veľkosť 8192 znakov. Môžeme však určiť aj veľkosť internej medzipamäte.

 // Creates a BufferedWriter with specified size internal buffer BufferedWriter buffer = new BufferedWriter(file, int size); 

Vyrovnávacia pamäť pomôže efektívnejšie zapisovať znaky do súborov.

Metódy BufferedWriter

BufferedWriterTrieda poskytuje implementácie pre rôzne metódy prítomných v Writer.

metóda write ()

  • write() - zapíše jeden znak do vnútornej medzipamäte zapisovača
  • write(char() array) - zapíše znaky zo zadaného poľa do zapisovača
  • write(String data) - zapíše zadaný reťazec do zapisovača

Príklad: BufferedWriter na zápis údajov do súboru

 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(); ) ) ) 

Vo vyššie uvedenom príklade sme spolu s FileWriter. Zapisovateľ do vyrovnávacej pamäte je prepojený so súborom output.txt .

 FileWriter file = new FileWriter("output.txt"); BufferedWriter output = new BufferedWriter(file); 

Na zápis údajov do súboru sme použili write()metódu.

Tu, keď spustíme program, je súbor output.txt naplnený nasledujúcim obsahom.

 This is a line of text inside the file. 

flush () metóda

Na vyčistenie interného bufferu môžeme použiť flush()metódu. Táto metóda núti zapisovateľa zapísať všetky údaje prítomné vo vyrovnávacej pamäti do cieľového súboru.

Predpokladajme napríklad, že máme prázdny súbor s názvom 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ýkon

 Údaje sa do súboru prenesú. 

Keď spustíme program, súbor output.txt sa vyplní textom predstavovaným údajmi reťazca.

metóda close ()

Na zatvorenie zapisovača s medzipamäťou môžeme použiť túto close()metódu. Po close()zavolaní metódy nemôžeme použiť zapisovač na zápis údajov.

Ďalšie metódy BufferedWriter

Metóda Popis
newLine() vloží nový riadok do zapisovateľa
append() vloží zadaný znak do aktuálneho zapisovača

Ak sa chcete dozvedieť viac, navštívte Java BufferedWriter (oficiálna dokumentácia Java).

Zaujímavé články...