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).

Цікаві статті...