Java PrintWriter (с примери)

В този урок ще научим за Java PrintWriter и неговите методи print () и printf () с помощта на примери.

В PrintWriterкласа на java.ioпакета може да се използва за да напишете изходни данни в електронен формат често (текст).

Той разширява абстрактния клас Writer.

Работа на PrintWriter

За разлика от други автори, PrintWriterпреобразува примитивни данни ( int, float, char, и т.н.) в текстов формат. След това записва тези форматирани данни на писателя.

Също така, PrintWriterкласът не създава никакви изключения за вход / изход. Вместо това трябва да използваме checkError()метода, за да намерим грешка в него.

Забележка : PrintWriterКласът има и функция за автоматично промиване. Това означава, че принуждава писателя да запише всички данни до местоназначението, ако е извикан някой от методите println()или printf().

Създайте PrintWriter

За да създадем принтер, първо трябва да импортираме java.io.PrintWriterпакета. След като импортираме пакета, ето как можем да създадем писателя за печат.

1. Използване на други писатели

 // Creates a FileWriter FileWriter file = new FileWriter("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush); 

Тук,

  • създадохме писател за печат, който ще записва данни във файла, представен от FileWriter
  • autoFlush е незадължителен параметър, който указва дали да се извършва автоматично промиване или не

2. Използване на други изходни потоци

 // Creates a FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush); 

Тук,

  • създадохме писател за печат, който ще записва данни във файла, представен от FileOutputStream
  • autoFlush е незадължителен параметър, който указва дали да се извършва автоматично промиване или не

3. Използване на име на файл

 // Creates a PrintWriter PrintWriter output = new PrintWriter(String file, boolean autoFlush); 

Тук,

  • създадохме писател за печат, който ще записва данни в посочения файл
  • autoFlush е незадължителен булев параметър, който указва дали да се извършва автоматично промиване или нито

Забележка : Във всички горепосочени случаи PrintWriterзаписва данни във файла, като използва някакво кодиране на символи по подразбиране. Можем обаче да посочим и кодирането на символи ( UTF8 или UTF16 ).

 // Creates a PrintWriter using some character encoding PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs); 

Тук използвахме класа Charset, за да определим кодирането на символите. За да научите повече, посетете Java Charset (официална документация за Java).

Методи на PrintWriter

В PrintWriterкласа предоставя различни методи, които ни позволяват да печатате данни към изхода.

print () Метод

  • print() - отпечатва посочените данни на записващото устройство
  • println() - отпечатва данните на писателя заедно с нов ред символ в края

Например,

 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(); ) ) ) 

В горния пример създадохме писател за печат с име output. Този писател за печат е свързан с файла output.txt .

 PrintWriter output = new PrintWriter("output.txt"); 

За да отпечатаме данни във файла, използвахме print()метода.

Тук, когато стартираме програмата, файлът output.txt се пълни със следното съдържание.

 This is a text inside the file. 

метод printf ()

В printf()метод може да се използва за отпечатване на форматиран низ. Включва 2 параметъра: форматиран низ и аргументи. Например,

 printf("I am %d years old", 25); 

Тук,

  • Аз съм на %dгодини е форматиран низ
  • %d е целочислени данни във форматирания низ
  • 25 е аргумент

Форматираният низ включва както текст, така и данни. И аргументите заместват данните във форматирания низ.

Следователно % d се заменя с 25 .

Пример: метод printf (), използващ 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(); ) ) ) 

В горния пример създадохме писател за печат с име output. Принтерът за печат е свързан с файла output.txt .

 PrintWriter output = new PrintWriter("output.txt"); 

За да отпечатаме форматирания текст във файла, използвахме printf()метода.

Тук, когато стартираме програмата, файлът output.txt се пълни със следното съдържание.

 I am 25 years old. 

Други методи на PrintWriter

Метод Описание
close() затваря редактора за печат
checkError() проверява дали има грешка в писателя и връща булев резултат
append() добавя посочените данни към писателя

За да научите повече, посетете Java PrintWriter (официална документация за Java).

Интересни статии...