В этом руководстве мы узнаем о классе 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
классе
Теперь, поскольку out
is of PrintStream
type, мы можем использовать его для вызова всех методов 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).