W tym samouczku nauczymy się języka Java FileWriter i jego metod za pomocą przykładów.
FileWriter
Klasa java.io
pakietu mogą być używane do zapisu danych (w znakach) do plików.
To rozszerza OutputStreamWriter
klasę.
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.FileWriter
pakiet. 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 Charset
klasy do określenia kodowania znaków programu zapisującego plik.
Metody FileWriter
FileWriter
Klasa zawiera implementacje dla różnych sposobów przedstawienia w Writer
klasie.
write () Metoda
write()
- pisze pojedynczy znak do pisarzawrite(char() array)
- zapisuje znaki z określonej tablicy do modułu piszącegowrite(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).