PrintWriter
PrintWriter — класс для удобной записи текста в файл и другие потоки вывода.
Позволяет печатать строки, числа и логические значения.
Минимум, который нужен в задачах
Чаще всего используется:
- создание
PrintWriterпо имени файла или объектуFile; - методы
print,println,printfдля вывода; close()в конце работы, чтобы данные точно записались в файл.
Создание PrintWriter
| Сигнатура | Что делает |
|---|---|
PrintWriter(String fileName) |
Открывает файл с именем fileName для записи. |
PrintWriter(File file) |
Открывает файл, описанный объектом File. |
PrintWriter(OutputStream out) |
Пишет в уже существующий поток вывода. |
Обычно в задачах используют первый или второй вариант.
Основные методы вывода
| Метод | Что делает |
|---|---|
print(x) |
Печатает x без перевода строки. |
println(x) |
Печатает x и переводит строку. |
println() |
Просто перевод строки. |
printf(String format, Object... args) |
Форматированный вывод по строке format. |
flush() |
Принудительно записывает буфер в файл. |
close() |
Закрывает поток; нужно вызывать в конце программы. |
Есть варианты print/println для int, double, char, boolean и других типов – можно передавать почти любое значение.
Примеры использования
Запись нескольких строк в файл
import java.io.FileNotFoundException;
import java.io.PrintWriter;
public class WriteLinesExample {
public static void main(String[] args) throws FileNotFoundException {
PrintWriter out = new PrintWriter("output.txt");
out.println("Привет, файл!");
out.println(123);
out.println("Конец.");
out.close();
}
}
Программа выведет в файл output.txt:
Вывод чисел от 1 до 5 в файл
import java.io.FileNotFoundException;
import java.io.PrintWriter;
public class NumbersExample {
public static void main(String[] args) throws FileNotFoundException {
PrintWriter out = new PrintWriter("numbers.txt");
for (int i = 1; i <= 5; i++) {
out.println(i);
}
out.close();
}
}
Программа выведет в файл numbers.txt:
Форматированный вывод в файл
import java.io.FileNotFoundException;
import java.io.PrintWriter;
public class FormatExample {
public static void main(String[] args) throws FileNotFoundException {
PrintWriter out = new PrintWriter("results.txt");
int n = 7;
double x = 3.14159;
out.printf("n = %d%n", n);
out.printf("x = %f%n", x);
out.printf("x = %.2f%n", x);
out.close();
}
}
Программа выведет в файл results.txt:
Полный API
Подробности по всем конструкторам и методам см. в официальной документации: