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

Освоение класса PrintStream в Java: print, println и printf

Освоение класса PrintStream в Java

Класс PrintStream из пакета java.io расширяет OutputStream и предназначен для вывода человекочитаемого текста, а не сырых байтов.


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

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

Авто-сброс (auto-flush) — ключевая особенность: поток автоматически сбрасывается при:


Создание PrintStream

Сначала импортируйте класс:

import java.io.PrintStream;

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

// Пример: оборачиваем FileOutputStream
FileOutputStream fos = new FileOutputStream("log.txt");
PrintStream ps = new PrintStream(fos, true); // true = autoFlush

Записывает форматированный текст в log.txt с опциональным авто-сбросом.

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

PrintStream ps = new PrintStream("log.txt", true);

Конструктор принимает boolean для auto-flush. По умолчанию используется кодировка платформы.

3. Указание кодировки

PrintStream ps = new PrintStream("log.txt", true, StandardCharsets.UTF_8);

Использование Charset позволяет выбрать UTF-8, UTF-16 или любую поддерживаемую кодировку.

Примечание: Подробнее о наборах символов см. Java Charset API.


Основные методы PrintStream

print() и println()

Пример: использование System.out

public class Main {
    public static void main(String[] args) {
        System.out.print("Hello World.");
    }
}

Здесь System.out — предварительно сконфигурированный PrintStream, поэтому его print() сразу доступен.

Пример: запись в файл

import java.io.PrintStream;

public class Main {
    public static void main(String[] args) {
        try {
            PrintStream ps = new PrintStream("output.txt");
            ps.print("This is a text inside the file.");
            ps.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Результирующий output.txt содержит:

This is a text inside the file.

printf()

Печатает форматированный текст с использованием спецификаторов формата:

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

Здесь %d заменяется на целое значение 25.

Пример: использование printf() с файлом

import java.io.PrintStream;

public class Main {
    public static void main(String[] args) {
        try {
            PrintStream ps = new PrintStream("output.txt");
            int age = 25;
            ps.printf("I am %d years old.", age);
            ps.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

После выполнения output.txt содержит:

I am 25 years old.

Дополнительные методы PrintStream

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

Для полных деталей см. официальную документацию Java PrintStream.

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: создание, чтение, запись и удаление