Функция printWriter
Функция printWriter создает объект PrintWriter
для записи текстовых данных в файл с буферизацией.
Поддерживает форматированный вывод различных типов данных,
включая строки, числа и логические значения.
Автоматически закрывает ресурсы при использовании
в блоке use.
Импорт
import java.io.File
import java.io.PrintWriter
Синтаксис
fun File.printWriter(): PrintWriter
fun File.printWriter(charset: Charset): PrintWriter
fun File.printWriter(
charset: Charset,
append: Boolean
): PrintWriter
Пример
Запишем несколько строк в файл output.txt
с использованием буферизации:
val file = File("output.txt")
file.printWriter().use { writer ->
writer.println("Hello")
writer.println("World")
writer.print(123)
writer.print(" ")
writer.print(true)
}
Содержимое файла после выполнения:
Hello
World
123 true
Пример
Запишем данные в файл с указанием кодировки UTF-8
и режимом дописывания:
val file = File("data.log")
file.printWriter(Charsets.UTF_8, true).use { writer ->
writer.println("New log entry")
writer.printf("Time: %tT", System.currentTimeMillis())
}
Содержимое файла после выполнения:
New log entry
Time: 14:30:25
Пример
Запишем различные типы данных с форматированием
в файл report.txt:
val file = File("report.txt")
val price = 99.99
val quantity = 5
file.printWriter().use { writer ->
writer.println("Product Report")
writer.println("==============")
writer.printf("Price: $%.2f%n", price)
writer.printf("Quantity: %d%n", quantity)
writer.printf("Total: $%.2f%n", price * quantity)
}
Содержимое файла после выполнения:
Product Report
==============
Price: $99.99
Quantity: 5
Total: $499.95
Пример
Создадим PrintWriter без автоматического закрытия
и используем его для многократной записи:
val file = File("multi_write.txt")
val writer = file.printWriter()
try {
writer.println("First line")
writer.println("Second line")
writer.flush()
writer.println("Third line")
} finally {
writer.close()
}
Содержимое файла после выполнения:
First line
Second line
Third line
Смотрите также
-
функцию
bufferedWriter,
которая создает буферизованный writer для записи -
функцию
writeText,
которая записывает текст в файл одной операцией -
функцию
writeLines,
которая записывает список строк в файл -
класс
File,
который представляет файл или директорию