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

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