Java BufferedWriter (z przykładami)

W tym samouczku dowiemy się o języku Java BufferedWriter i jego metodach na przykładach.

BufferedWriterKlasa java.iopakietu może być stosowany z innymi pisarzami, aby bardziej efektywnie zapisywać dane (w znakach).

Rozszerza klasę abstrakcyjną Writer.

Działanie BufferedWriter

BufferedWriterUtrzymuje wewnętrzny bufor 8192 znaków .

Podczas operacji zapisu znaki są zapisywane w wewnętrznym buforze zamiast na dysku. Po zapełnieniu bufora lub zamknięciu programu zapisującego całe znaki w buforze są zapisywane na dysku.

W związku z tym zmniejsza się liczba komunikacji z dyskiem. Dlatego pisanie znaków jest szybsze przy użyciu BufferedWriter.

Utwórz BufferedWriter

Aby utworzyć plik BufferedWriter, musimy najpierw zaimportować java.io.BufferedWriterpakiet. Po zaimportowaniu pakietu tutaj, możemy utworzyć buforowany moduł zapisujący.

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

W powyższym przykładzie utworzyliśmy BufferedWriternazwany bufor z FileWriternazwanym plikiem.

W tym przypadku bufor wewnętrzny BufferedWriterma domyślny rozmiar 8192 znaków. Możemy jednak określić również rozmiar bufora wewnętrznego.

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

Bufor pomoże wydajniej zapisywać znaki w plikach.

Metody BufferedWriter

BufferedWriterKlasa zawiera implementacje dla różnych obecnych metod Writer.

write () Metoda

  • write() - zapisuje pojedynczy znak do wewnętrznego bufora pisarza
  • write(char() array) - zapisuje znaki z określonej tablicy do modułu piszącego
  • write(String data) - zapisuje określony ciąg do programu zapisującego

Przykład: BufferedWriter do zapisywania danych do pliku

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

W powyższym przykładzie utworzyliśmy buforowany moduł zapisujący o nazwie output wraz z FileWriter. Buforowany moduł zapisujący jest powiązany z plikiem output.txt .

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

Aby zapisać dane do pliku, skorzystaliśmy z write()metody.

Tutaj, kiedy uruchamiamy program, plik output.txt jest wypełniony następującą treścią.

 This is a line of text inside the file. 

flush () Metoda

Aby wyczyścić bufor wewnętrzny, możemy użyć flush()metody. Ta metoda wymusza zapisanie wszystkich danych znajdujących się w buforze przez piszącego w pliku docelowym.

Na przykład załóżmy, że mamy pusty plik o nazwie 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(); ) ) ) 

Wynik

 Dane są przesyłane do pliku. 

Kiedy uruchamiamy program, plik output.txt jest wypełniany tekstem reprezentowanym przez dane tekstowe.

close () Metoda

Aby zamknąć buforowany moduł zapisujący, możemy użyć close()metody. Po close()wywołaniu metody nie możemy użyć programu zapisującego do zapisania danych.

Inne metody BufferedWriter

metoda Opis
newLine() wstawia nowy wiersz do pisarza
append() wstawia określony znak do bieżącego modułu zapisującego

Aby dowiedzieć się więcej, odwiedź stronę Java BufferedWriter (oficjalna dokumentacja Java).

Interesujące artykuły...