Co to jest klasa PrintWriter w Javie?
Po co używać PrintWriter, jeśli dostępne są inne strumienie wyjściowe?
Najbardziej powszechną praktyką drukowania danych na konsoli jest użycie metody System.out.print . Jednak łatwiej jest dostosować format zgodnie z określonymi ustawieniami regionalnymi (standardami regionalnymi) podczas publikowania aplikacji globalnych przy użyciu obiektu PrintWriter . Możemy przyjrzeć się używaniu ustawień regionalnych zgodnie z twoim systemem w dalszej części tego postu.Jak korzystać z klasy PrintWriter?
Aby korzystać z PrintWriter , musisz zaimportować klasę java.io.PrintWriter . Następnie po zainicjowaniu jego obiektu możesz go użyć do pisania na konsoli lub w pliku zgodnie z własnymi potrzebami. Przyjrzyjmy się obu sposobom inicjalizacji klasy PrintWriter dla konsoli i pliku. Istnieje wiele różnych konstruktorów. Ale tutaj przedstawimy Ci na początek te najprostsze.Wyjście konsoli za pomocą PrintWriter
Poniżej znajduje się obiekt PrintWrtier służący do drukowania tekstu na konsoli.PrintWriter consoleOutput = new PrintWriter(System.out);
Tutaj obiekt System.out jest przekazywany do konstruktora w celu zapisu w konsoli.
Wyjście pliku za pomocą PrintWriter
Oto obiekt PrintWriter do zapisywania tekstu w pliku.PrintWriter fileOutput = new PrintWriter("FileOutput.txt");
Ten konstruktor przyjmuje String jako nazwę pliku. Tworzy plik o określonej nazwie i zapisuje w nim dane tekstowe.
Metody klasy PrintWriter
Klasa Java PrintWriter zawiera wiele przydatnych metod. Trudniej jest przełknąć tylko przez ich zwerbowanie. Spójrzmy więc na każdy z nich na przykładzie. Czym są i jak łatwo możemy z nich korzystać.Przykład 1
Ten przykład zademonstruje użycie obiektu PrintWriter do drukowania na konsoli.import java.io.PrintWriter;
public class PrintWriterDemo {
public static void main(String[] args) throws Exception {
// by importing the java.io.PrintWriter class
PrintWriter consoleOutput = new PrintWriter(System.out);
consoleOutput.printf("Hey there! This is %S.\n", "Lubaina Khan");
consoleOutput.print("Today you're exploring the PrinWriter class with Code Gym. ");
consoleOutput.println("Hope you're having fun!");
consoleOutput.append("Patience is the key when learning new concepts.\n");
consoleOutput.append("It all boils down to practise and persistence. :)");
consoleOutput.flush();
consoleOutput.close();
}
}
Wyjście
No hej! To jest LUBAINA KHAN.
Dzisiaj odkrywasz klasę PrinWriter z Code Gym. Mam nadzieję, że dobrze się bawisz!
Cierpliwość jest kluczem do nauki nowych pojęć.
Wszystko sprowadza się do praktyki i wytrwałości. :)
Zastosowane metody klasy PrintWriter
printf(String str, Object arguments);
Metoda printf () przyjmuje format ciągu znaków do wydrukowania. Tutaj symbol zastępczy %S jest zastępowany argumentem pisanym wielką literą, przekazywanym obok łańcucha.
print(String str);
Ta metoda wydrukuje ciąg przekazany do niej za pomocą obiektu PrintWriter .
println(String str);
Koniec linii jest drukowany po zawartości łańcucha.
append(CharSequence cs);
Sekwencja znaków przekazana do dołączania jest dodawana do obiektu PrintWrtier .
flush();
Opróżnia zawartość obiektu PrintWriter .
close();
Zamyka strumień zapisu i zwalnia wszelkie przydzielone zasoby.
Przykład 2
Ten przykład pokaże użycie klasy PrintWriter do zapisu danych do pliku.import java.io.PrintWriter;
import java.util.Date;
import java.util.Locale;
public class PrintWriterDemo {
public static void main(String[] args) throws Exception {
try {
// by importing the java.io.PrintWriter class
PrintWriter fileOutput = new PrintWriter("FileOutput.txt");
fileOutput.printf(Locale.getDefault(), "Hi, What's the day today? %s.\n", new Date());
fileOutput.print("Here's an implementation of PrinWriter class for file writing.\n");
fileOutput.println("Hope Code Gym made it simpler for you to understand.");
fileOutput.append("One step at a time, and off you go!", 0, 35);
fileOutput.flush();
fileOutput.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Wyjście
Cześć, jaki jest dzisiaj dzień? Niedz. 25 lipca 17:30:21 PKT 2021.
Oto implementacja klasy PrinWriter do zapisu plików.
Mam nadzieję, że Code Gym ułatwiło ci zrozumienie.
Krok po kroku i gotowe!
Zastosowane metody klasy PrintWriter
Omówmy metody używane do zapisywania plików, które różnią się od pisania na konsoli.printf(Locale locale, String str, Object args);
Tutaj możesz przekazać ustawienia regionalne (użyliśmy domyślnego systemu dla spójności), możesz użyć dowolnego zgodnie z własnymi potrzebami. Jest to zgodne z dowolnym formatowaniem opartym na regionie. Reszta implementacji jest taka sama jak poprzednio.
append(CharSequence cs, int beginningIndex, int endingIndex);
Możesz dodać fragment przekazanego CharSequence , określając jego początkowy i końcowy indeks. Tutaj użyliśmy ostatniego indeksu. Możesz się nim bawić, aby zobaczyć różne wyniki.
try{
...
} catch (Exception e){
...
}
Blok try-catch jest koniecznie używany podczas zapisywania plików. Ma to na celu uniknięcie wszelkich wyjątków podczas uzyskiwania dostępu (np. problemów z uprawnieniami) lub tworzenia pliku w systemie.