English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом руководстве мы через примеры изучим Java PrintWriter и его методы print() и printf().
Класс PrintWriter пакета java.io можно использовать для записи данных в виде обычно читаемого текста.
Он наследует абстрактный класс Writer.
В отличие от других писателей, PrintWriter преобразует исходные данные (int, float, char и т.д.) в текстовый формат. Затем он записывает отформатированные данные в поток для записи.
Кроме того, класс PrintWriter не вызывает никаких исключений ввода/вывода. Вместо этого нам нужно использовать метод checkError(), чтобы найти любые ошибки.
autoFlush является необязательным булевым параметром, который определяет, выполняется ли автоматическая промывкаКласс PrintWriter также имеет функцию автоматической стирки. Это означает, что если вызвать один из методов println() или printf(), он будет вынужден записать все данные в целевую систему.
Для создания потока для записи PrintWriter нам нужно импортировать пакет java.io.PrintWriter. После импорта пакета мы можем создать поток для записи PrintWriter
1.Использование других писателей
//создание FileWriter FileWriter file = new FileWriter("output.txt"); //создание PrintWriter PrintWriter output = new PrintWriter(file, autoFlush);
printf("I am %d years old", 25);
Мы создали поток для записи PrintWriter, который будет записывать данные в FileWriter
autoFlush является опциональным параметром, который определяет, следует ли выполнять автоматическую обновление
2.Использование других потоков для вывода
//создание FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); //создание PrintWriter PrintWriter output = new PrintWriter(file, autoFlush);
printf("I am %d years old", 25);
Мы создали поток для записи PrintWriter, который будет записывать данные в файл, представленный FileWriter
autoFlush является опциональным параметром, который определяет, следует ли выполнять автоматическую стирку
3.Использование имени файла
//создание PrintWriter PrintWriter output = new PrintWriter(String file, boolean autoFlush);
printf("I am %d years old", 25);
PrintWriter output = new PrintWriter(String file, boolean autoFlush);
Мы создали писателя вывода, который записывает данные в указанный файл
autoFlush является необязательным булевым параметром, который определяет, выполняется ли автоматическая промывкаОбратите вниманиеВ всех вышеперечисленных случаях PrintWriter использует определенную стандартную кодировку символов для записи данных в файл. Но мы также можем указать кодировку символов (UTF8илиUTF16
) // Создание PrintWriter с использованием определенной кодировки символов
PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs); Здесь мы используемКодировка символов
Методы PrintWriter
print() метод
print() - печать указанных данных в.writer
import java.io.PrintWriter; class Main { public static void main(String[] args) { println() - печать данных с kończącym znakiem нового ряда в.writer try { PrintWriter output = new PrintWriter("output.txt"); String data = "This is a text inside the file."; output.close(); } catch(Exception e) { e.getStackTrace(); } } }
output.print(data);output.txt.
PrintWriter output = new PrintWriter("output.txt");
В предыдущем примере мы создали писателя вывода с именем output. Этот писатель вывода связан с файлом
Здесь, когда мы запускаем программу:output.txtФайл будет заполнен следующим содержимым.
Чтобы напечатать данные в файл, мы используем метод print().
printf() метод
printf() метод можно использовать для печати форматированных строк. Он содержит 2 параметра: форматированную строку и параметры. Например:
printf("I am %d years old", 25);
Здесь,
I am %d years old является форматированной строкой
%d является целым числом в форматированной строке
25 является параметром
Таким образом, форматированная строка включает текст и данные. И, параметры заменяют данные в форматированной строке.%dзаменить на25.
import java.io.PrintWriter; class Main { public static void main(String[] args) { try { PrintWriter output = new PrintWriter("output.txt"); int age = 25; output.printf("Я %d лет", age); output.close(); } catch(Exception e) { e.getStackTrace(); } } }
В предыдущем примере мы создали принт-письмоoutput. Печать пишется в файлoutput.txt.
PrintWriter output = new PrintWriter("output.txt");
Чтобы напечатать отформатированный текст в файл, мы используем метод printf().
Здесь, когда мы запускаем программу:output.txtФайл будет заполнен следующим содержимым.
Я 25 лет.
Метод | Описание |
---|---|
close() | Закрыть PrintWriter |
checkError() | Проверить, есть ли ошибки в写入器е, и верните булево значение |
append() | Добавить指定的 данные в写入器 |