W tym samouczku nauczymy się języka Java PrintWriter i jego metod print () i printf () na podstawie przykładów.
PrintWriter
Klasa java.io
pakietu mogą być wykorzystywane do zapisywania danych wyjściowych w formie powszechnie czytelnej (tekst).
Rozszerza klasę abstrakcyjną Writer
.
Działanie PrintWriter
W odróżnieniu od innych pisarzy, PrintWriter
konwertuje dane pierwotne ( int
, float
, char
, itd.) Do formatu tekstowego. Następnie zapisuje sformatowane dane do urządzenia zapisującego.
Ponadto PrintWriter
klasa nie zgłasza żadnego wyjątku wejścia / wyjścia. Zamiast tego musimy użyć checkError()
metody, aby znaleźć w niej dowolny błąd.
Uwaga : PrintWriter
klasa posiada również funkcję automatycznego spłukiwania. Oznacza to, że wymusza zapisywanie wszystkich danych w miejscu docelowym, jeśli wywoływana jest jedna z metod println()
lub printf()
.
Utwórz PrintWriter
Aby utworzyć program do zapisywania wydruków, musimy najpierw zaimportować java.io.PrintWriter
pakiet. Po zaimportowaniu pakietu tutaj możemy stworzyć program do zapisywania wydruków.
1. Korzystanie z innych pisarzy
// Creates a FileWriter FileWriter file = new FileWriter("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush);
Tutaj,
- stworzyliśmy program zapisujący wydruki, który zapisze dane do pliku reprezentowanego przez
FileWriter
- autoFlush to opcjonalny parametr, który określa, czy wykonać automatyczne opróżnianie, czy nie
2. Korzystanie z innych strumieni wyjściowych
// Creates a FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush);
Tutaj,
- stworzyliśmy program zapisujący wydruki, który zapisze dane do pliku reprezentowanego przez
FileOutputStream
- autoFlush jest opcjonalnym parametrem, który określa, czy wykonać automatyczne opróżnianie, czy nie
3. Używając nazwy pliku
// Creates a PrintWriter PrintWriter output = new PrintWriter(String file, boolean autoFlush);
Tutaj,
- stworzyliśmy program do zapisywania wydruków, który zapisze dane do określonego pliku
- autoFlush jest opcjonalnym parametrem boolowskim, który określa, czy wykonać automatyczne opróżnianie, czy też
Uwaga : We wszystkich powyższych przypadkach PrintWriter
dane są zapisywane do pliku przy użyciu domyślnego kodowania znaków. Możemy jednak określić również kodowanie znaków ( UTF8 lub UTF16 ).
// Creates a PrintWriter using some character encoding PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs);
Tutaj użyliśmy klasy Charset do określenia kodowania znaków. Aby dowiedzieć się więcej, odwiedź Java Charset (oficjalna dokumentacja Java).
Metody PrintWriter
PrintWriter
Klasa udostępnia różne metody, które pozwalają nam drukować dane do wyjścia.
print () Metoda
print()
- drukuje określone dane do programu zapisującegoprintln()
- drukuje dane do piszącego wraz ze znakiem nowego wiersza na końcu
Na przykład,
import java.io.PrintWriter; class Main ( public static void main(String() args) ( String data = "This is a text inside the file."; try ( PrintWriter output = new PrintWriter("output.txt"); output.print(data); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
W powyższym przykładzie utworzyliśmy program zapisujący wydruki o nazwie output. Ten program zapisujący wydruki jest powiązany z plikiem output.txt .
PrintWriter output = new PrintWriter("output.txt");
Aby wydrukować dane do pliku, skorzystaliśmy z print()
metody.
Tutaj, kiedy uruchamiamy program, plik output.txt jest wypełniony następującą treścią.
This is a text inside the file.
printf () Metoda
printf()
Metoda może być stosowana do drukowania sformatowany ciąg. Zawiera 2 parametry: sformatowany ciąg i argumenty. Na przykład,
printf("I am %d years old", 25);
Tutaj,
- Mam
%d
lat to sformatowany ciąg %d
to liczba całkowita w sformatowanym ciągu- 25 to argument
Sformatowany ciąg zawiera zarówno tekst, jak i dane. Argumenty zastępują dane wewnątrz sformatowanego ciągu.
Stąd % d zostaje zastąpione przez 25 .
Przykład: printf () Metoda używająca PrintWriter
import java.io.PrintWriter; class Main ( public static void main(String() args) ( try ( PrintWriter output = new PrintWriter("output.txt"); int age = 25; output.printf("I am %d years old.", age); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
W powyższym przykładzie utworzyliśmy program zapisujący wydruki o nazwie output. Program zapisujący wydruki jest powiązany z plikiem output.txt .
PrintWriter output = new PrintWriter("output.txt");
Aby wydrukować sformatowany tekst do pliku, skorzystaliśmy z printf()
metody.
Tutaj, kiedy uruchamiamy program, plik output.txt jest wypełniony następującą treścią.
I am 25 years old.
Inne metody PrintWriter
metoda | Opis |
---|---|
close() | zamyka drukarkę |
checkError() | sprawdza, czy w programie piszącym wystąpił błąd i zwraca wynik logiczny |
append() | dołącza określone dane do modułu zapisującego |
Aby dowiedzieć się więcej, odwiedź stronę Java PrintWriter (oficjalna dokumentacja Java).