Java FileWriter (z przykładami)

W tym samouczku nauczymy się języka Java FileWriter i jego metod za pomocą przykładów.

FileWriterKlasa java.iopakietu mogą być używane do zapisu danych (w znakach) do plików.

To rozszerza OutputStreamWriterklasę.

Zanim dowiesz się więcej FileWriter, upewnij się, że znasz język Java File.

Utwórz FileWriter

Aby utworzyć program do zapisywania plików, musimy najpierw zaimportować Java.io.FileWriterpakiet. Po zaimportowaniu pakietu, oto jak możemy utworzyć program zapisujący pliki.

1. Używając nazwy pliku

 FileWriter output = new FileWriter(String name); 

Tutaj stworzyliśmy program do zapisywania plików, który zostanie powiązany z plikiem określonym przez nazwę.

2. Korzystanie z obiektu pliku

 FileWriter input = new FileWriter(File fileObj); 

Tutaj stworzyliśmy program do zapisywania plików, który zostanie powiązany z plikiem określonym przez obiekt pliku.

W powyższym przykładzie dane są przechowywane przy użyciu domyślnego kodowania znaków.

Jednak od wersji Java 11 możemy również określić typ kodowania znaków ( UTF8 lub UTF16 ).

 FileWriter input = new FileWriter(String file, Charset cs); 

Tutaj użyliśmy tej Charsetklasy do określenia kodowania znaków programu zapisującego plik.

Metody FileWriter

FileWriterKlasa zawiera implementacje dla różnych sposobów przedstawienia w Writerklasie.

write () Metoda

  • write() - pisze pojedynczy znak do 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: FileWriter, aby zapisać dane do pliku

 import java.io.FileWriter; public class Main ( public static void main(String args()) ( String data = "This is the data in the output file"; try ( // Creates a FileWriter FileWriter output = new FileWriter("output.txt"); // 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 program zapisujący plik o nazwie output. Czytnik wyjściowy jest powiązany z plikiem output.txt .

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

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. 

getEncoding () Metoda

getEncoding()Metoda może być stosowana, aby uzyskać rodzaj kodowania, który jest używany do zapisu danych. Na przykład,

 import java.io.FileWriter; import java.nio.charset.Charset; class Main ( public static void main(String() args) ( String file = "output.txt"; try ( // Creates a FileReader with default encoding FileWriter output1 = new FileWriter(file); // Creates a FileReader specifying the encoding FileWriter output2 = new FileWriter(file, Charset.forName("UTF8")); // Returns the character encoding of the reader System.out.println("Character encoding of output1: " + output1.getEncoding()); System.out.println("Character encoding of output2: " + output2.getEncoding()); // Closes the reader output1.close(); output2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Wynik

 Kodowanie znaków wyjście1: Cp1252 Kodowanie znaków wyjście2: UTF8 

W powyższym przykładzie utworzyliśmy 2 programy zapisujące pliki o nazwach output1 i output2.

  • output1 nie określa kodowania znaków. Dlatego getEncoding()metoda zwraca domyślne kodowanie znaków.
  • output2 określa kodowanie znaków, UTF8 . Dlatego getEncoding()metoda zwraca określone kodowanie znaków.

Uwaga : wykorzystaliśmy tę Charset.forName()metodę, aby określić typ kodowania znaków. Aby dowiedzieć się więcej, odwiedź Java Charset (oficjalna dokumentacja Java).

close () Metoda

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

Inne metody FileWriter

metoda Opis
flush() wymusza zapisanie wszystkich danych obecnych w programie zapisującym do odpowiedniego miejsca docelowego
append() wstawia określony znak do bieżącego modułu zapisującego

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

Interesujące artykuły...