Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Освоение Java PrintWriter: возможности, методы и практические примеры

Освоение Java PrintWriter

Класс PrintWriter из java.io предназначен для записи символьных данных в текстовые файлы или другие выходные потоки. Он расширяет Writer и предлагает удобные методы форматирования.

В отличие от других писателей, PrintWriter автоматически преобразует примитивные типы (int, float, char и т.д.) в текст перед записью. Он также никогда не выбрасывает IOException; ошибки обнаруживаются через checkError().

Авто-сброс (auto-flush) — ключевая особенность: если включён, каждый вызов println() или printf() принудительно сбрасывает буфер в базовый поток.

Как работает PrintWriter

PrintWriter пишет форматированный текст в базовый Writer или OutputStream. Конструктор принимает флаг autoFlush и, опционально, Charset для кодировки.

Создание PrintWriter

Импортируйте класс:

import java.io.PrintWriter;

1. Из существующего Writer

FileWriter file = new FileWriter("output.txt");
PrintWriter out = new PrintWriter(file, true); // autoFlush = true

2. Из OutputStream

FileOutputStream fos = new FileOutputStream("output.txt");
PrintWriter out = new PrintWriter(fos, true);

3. Непосредственно из имени файла

PrintWriter out = new PrintWriter("output.txt", true);

4. С указанием кодировки

import java.nio.charset.Charset;
PrintWriter out = new PrintWriter("output.txt", true, Charset.forName("UTF-8"));

Использование Charset гарантирует запись текста с нужной кодировкой.


Ключевые методы

print() и println()

Эти методы записывают «сырой» или завершённый переводом строки текст:

printf()

Семейство printf поддерживает синтаксис Formatter Java. Пример:

out.printf("I am %d years old.", 25);

Другие полезные методы

МетодОписание
close()Закрывает поток и освобождает ресурсы.
checkError()Возвращает true, если произошла ошибка записи.
append(CharSequence)Добавляет заданную последовательность в писатель.

Практический пример

Полная запускаемая программа, пишущая форматированный текст в output.txt через printf():

import java.io.PrintWriter;
import java.io.FileWriter;
import java.io.IOException;

public class PrintWriterDemo {
    public static void main(String[] args) {
        try (PrintWriter out = new PrintWriter(new FileWriter("output.txt"), true)) {
            int age = 25;
            out.printf("I am %d years old.\n", age);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Программа создаёт output.txt со строкой:

I am 25 years old.

Дополнительное чтение

Официальная спецификация: Java PrintWriter API и документация Charset.

java

  1. Ключевое слово final в Java: переменные, методы и классы
  2. Оператор instanceof в Java: полное руководство с примерами
  3. Наследование в Java: концепции, типы и практические примеры
  4. Статические вложенные классы в Java: использование, отличия и примеры
  5. Анонимные внутренние классы в Java: определение, синтаксис и практические примеры
  6. Паттерн Singleton в Java: как реализовать и безопасно использовать
  7. Рефлексия в Java: инспекция классов, методов и полей во время выполнения
  8. Освоение Java ObjectOutputStream: сериализация, методы и практические примеры
  9. Освоение Java Generics: создание переиспользуемого, типобезопасного кода
  10. Мастерство файловых операций в Java с java.io: создание, чтение, запись и удаление