Какво представлява класът PrintWriter в Java?
Защо да използвате PrintWriter, ако други OutputStream са налични?
Най-честата практика за отпечатване на данни на конзолата е чрез използване на метода System.out.print . Въпреки това е по-лесно да персонализирате формата според посочения локал (регионални стандарти), докато публикувате глобални applications с помощта на обекта PrintWriter . Можем да разгледаме използването на Locale според вашата система по-късно в тази публикация.Как да използвам класа PrintWriter?
За да използвате PrintWriter , трябва да импортирате класа java.io.PrintWriter . След това, след като инициализирате неговия обект, можете да го използвате or за писане на конзолата, or във file според вашите нужди. Нека да разгледаме двата начина за инициализация на класа PrintWriter за конзолата и file. Има множество различни конструктори. Но тук ще ви представим най-простите, за начало.Конзолен изход с PrintWriter
Следва PrintWrtier обект за отпечатване на текст на конзолата.PrintWriter consoleOutput = new PrintWriter(System.out);
Тук обектът System.out се предава на конструктора за запис на конзолата.
Изход на файл с PrintWriter
Ето обекта PrintWriter за писане на текст във file.PrintWriter fileOutput = new PrintWriter("FileOutput.txt");
Този конструктор приема входен низ като име на файл. Създава файл с указаното име и записва текстовите данни в него.
Методи на клас PrintWriter
Класът Java PrintWriter идва с куп удобни методи. По-трудно е да преглътнеш само като ги включиш. Така че, нека видим всеки един чрез пример. Какво представляват те и How можем лесно да ги използваме.Пример 1
Този пример ще демонстрира използването на обекта PrintWriter за печат на конзолата.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();
}
}
Изход
Здравейте! Това е LUBAINA KHAN. Днес изследвате класа по PrinWriter с Code Gym. Надявам се да се забавлявате! Търпението е ключът при изучаването на нови концепции. Всичко се свежда до практика и постоянство. :)
Използвани методи на клас PrintWriter
printf(String str, Object arguments);
Методът printf() приема формата на низа за отпечатване. Тук контейнерът %S се заменя с аргумента с главни букви, подаден до низа.
print(String str);
Този метод ще отпечата низа, предаден му с помощта на обекта PrintWriter .
println(String str);
След съдържанието на низа се отпечатва нов ред.
append(CharSequence cs);
Последователността от знаци, предадена на приложението, се добавя към обекта PrintWrtier .
flush();
Изпразва съдържанието на обекта PrintWriter .
close();
Затваря потока за писане и освобождава всички разпределени ресурси.
Пример 2
Този пример ще покаже използването на клас PrintWriter за запис на данни във файл.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();
}
}
}
Изход
Здравей, Howъв е денят днес? Нед, 25 юли, 17:30:21 PKT 2021. Ето реализация на класа PrinWriter за писане на файлове. Hope Code Gym го направи по-лесен за разбиране. Стъпка по стъпка и тръгваш!
Използвани методи на клас PrintWriter
Нека обсъдим методите, използвани за писане на файлове, които се различават от писането на конзолата.printf(Locale locale, String str, Object args);
Тук можете да подадете локал (използвахме системата по подразбиране за съгласуваност), можете да използвате всеки според вашите нужди. Това е в съответствие с всяко регионално форматиране. Останалата част от изпълнението е същата като използваната преди.
append(CharSequence cs, int beginningIndex, int endingIndex);
Можете да добавите част от предадената CharSequence , като посочите нейния начален и краен индекс. Тук сме използвали последния индекс. Можете да си поиграете с него, за да видите различни резултати.
try{
...
} catch (Exception e){
...
}
Блокът try-catch задължително се използва при писане на файл. Целта е да се избегнат всяHowви изключения при достъп (напр. проблеми с разрешение) or създаване на file в системата.