Java PrintStream (с примерами)

В этом руководстве мы узнаем о классе Java PrintStream и его методах print () и printf () с помощью примеров.

PrintStreamКласс java.ioпакета может быть использован для записи выходных данных в широко читаемом виде (текст) вместо байт.

Он расширяет абстрактный класс OutputStream.

Работа PrintStream

В отличие от других выходных потоков, он PrintStreamпреобразует примитивные данные (целые числа, символы) в текстовый формат вместо байтов. Затем он записывает эти отформатированные данные в выходной поток.

Кроме того, PrintStreamкласс не генерирует никаких исключений ввода / вывода. Вместо этого нам нужно использовать checkError()метод, чтобы найти в нем любую ошибку.

Примечание : в PrintStreamклассе также есть функция автоматической очистки. Это означает, что он заставляет выходной поток записывать все данные в место назначения при одном из следующих условий:

  • если в потоке печати записан символ новой строки
  • если println()метод вызван
  • если в поток печати записан массив байтов

Создать PrintStream

Чтобы создать файл PrintStream, мы должны java.io.PrintStreamсначала импортировать пакет. После того, как мы импортируем пакет, вот как мы можем создать поток печати.

1. Использование других выходных потоков

 // Creates a FileOutputStream FileOutputStream file = new FileOutputStream(String file); // Creates a PrintStream PrintStream output = new PrintStream(file, autoFlush); 

Вот,

  • мы создали поток печати, который будет записывать отформатированные данные в файл, представленный FileOutputStream
  • autoFlush - это необязательный логический параметр, который указывает, следует ли выполнять автоматическую очистку или нет

2. Использование имени файла

  // Creates a PrintStream PrintStream output = new PrintStream(String file, boolean autoFlush); 

Вот,

  • мы создали поток печати, который будет записывать отформатированные данные в указанный файл
  • autoFlush - необязательный логический параметр, который указывает, следует ли выполнять автозапуск или нет

Примечание . В обоих случаях PrintStreamданные записываются в файл с использованием кодировки символов по умолчанию. Однако мы также можем указать кодировку символов ( UTF8 или UTF16 ).

 // Creates a PrintStream using some character encoding PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs); 

Здесь мы использовали Charsetкласс, чтобы указать кодировку символов. Чтобы узнать больше, посетите Java Charset (официальная документация по Java).

Методы PrintStream

PrintStreamКласс предоставляет различные методы, позволяющие печатать данные на выход.

print () Метод

  • print() - печатает указанные данные в выходной поток
  • println() - выводит данные в выходной поток вместе с символом новой строки в конце

Пример: метод print () с классом System

 class Main ( public static void main(String() args) ( String data = "Hello World."; System.out.print(data); ) ) 

Вывод

 Привет мир. 

В приведенном выше примере мы не создали поток печати. Однако мы можем использовать print()метод PrintStreamкласса.

Вам может быть интересно, как это возможно. Что ж, позвольте мне объяснить, что здесь происходит.

Обратите внимание на линию,

 System.out.print(data); 

Вот,

  • System это последний класс, который отвечает за выполнение стандартных операций ввода / вывода
  • outэто переменная класса PrintStreamтипа, объявленного в Systemклассе

Теперь, поскольку outis of PrintStreamtype, мы можем использовать его для вызова всех методов PrintStreamкласса.

Пример: метод print () с классом PrintStream

 import java.io.PrintStream; class Main ( public static void main(String() args) ( String data = "This is a text inside the file."; try ( PrintStream output = new PrintStream("output.txt"); output.print(data); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

In the above example, we have created a print stream named output. The print stream is linked with the output.txt file.

 PrintStream output = new PrintStream("output.txt"); 

To print data to the file, we have used the print() method.

Here, when we run the program, the output.txt file is filled with the following content.

 This is a text inside the file. 

printf() Method

The printf() method can be used to print the formatted string. It includes 2 parameters: formatted string and arguments. For example,

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

Here,

  • I am %d years old is a formatted string
  • %d is integer data in the formatted string
  • 25 is an argument

The formatted string includes both text and data. And, the arguments replace the data inside the formatted string.

Hence the %d is replaced by 25.

Example: printf() method using PrintStream

 import java.io.PrintStream; class Main ( public static void main(String() args) ( try ( PrintStream output = new PrintStream("output.txt"); int age = 25; output.printf("I am %d years old.", age); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

В приведенном выше примере мы создали поток печати с именем output. Поток печати связан с файлом output.txt .

 PrintStream output = new PrintStream("output.txt"); 

Чтобы распечатать форматированный текст в файл, мы использовали printf()метод.

Здесь, когда мы запускаем программу, файл output.txt заполняется следующим содержимым.

 I am 25 years old. 

Другие методы PrintStream

Методы Описания
close() закрывает поток печати
checkError() проверяет, есть ли в потоке ошибка, и возвращает логический результат
append() добавляет указанные данные в поток

Чтобы узнать больше, посетите Java PrintStream (официальная документация по Java).

Интересные статьи...