Java PrintWriter (z przykładami)

W tym samouczku nauczymy się języka Java PrintWriter i jego metod print () i printf () na podstawie przykładów.

PrintWriterKlasa java.iopakietu 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, PrintWriterkonwertuje dane pierwotne ( int, float, char, itd.) Do formatu tekstowego. Następnie zapisuje sformatowane dane do urządzenia zapisującego.

Ponadto PrintWriterklasa 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 : PrintWriterklasa 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.PrintWriterpakiet. 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 PrintWriterdane 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

PrintWriterKlasa udostępnia różne metody, które pozwalają nam drukować dane do wyjścia.

print () Metoda

  • print() - drukuje określone dane do programu zapisującego
  • println() - 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 %dlat 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).

Interesujące artykuły...