Класс PrintStream
- Все реализуемые интерфейсы:
-
Closeable,Flushable,Appendable,AutoCloseable
- Прямые известные подклассы:
LogStream
public class PrintStream extends FilterOutputStream implements Appendable, Closeable
PrintStream добавляет функциональность к другому потоку вывода, а именно, возможность удобного вывода представлений различных значений данных. Также предоставляются две другие функции. В отличие от других потоков вывода, класс PrintStream никогда не выбрасывает исключение IOException; вместо этого исключительные ситуации просто устанавливают внутренний флаг, который можно проверить с помощью метода checkError. При необходимости можно создать PrintStream, который будет автоматически сбрасывать буфер; это означает, что метод flush базового потока вывода будет автоматически вызываться после записи массива байтов, вызова одного из методов println, или записи символа новой строки или байта ('\n'). Все символы, выводимые классом PrintStream, преобразуются в байты с использованием заданной кодировки или набора символов, или по умолчанию, если кодировка не указана. Класс PrintWriter следует использовать в ситуациях, когда требуется запись символов, а не байтов.
Этот класс всегда заменяет некорректные и неотображаемые последовательности символов строкой замены по умолчанию для набора символов. Класс CharsetEncoder следует использовать, когда требуется больший контроль над процессом кодирования.
- С:
- 1.0
- См. также:
Краткое описание полей
Поля, объявленные в классе java.io.FilterOutputStream
out
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
PrintStream |
Создаёт новый поток вывода, без автоматического сброса строки, для указанного файла. |
PrintStream |
Создаёт новый поток вывода, без автоматического сброса строки, для указанного файла и кодировки. |
PrintStream |
Создаёт новый поток вывода, без автоматического сброса строки, для указанного файла и кодировки. |
PrintStream |
Создаёт новый поток вывода, без автоматического сброса строки, для указанного потока вывода. |
PrintStream |
Создаёт новый поток вывода, с автоматическим сбросом строки, для указанного потока вывода. |
PrintStream |
Создаёт новый поток вывода, с автоматическим сбросом строки, для указанного потока вывода и кодировки символов. |
PrintStream |
Создаёт новый поток вывода, с автоматическим сбросом строки, для указанного потока вывода и набора символов. |
PrintStream |
Создаёт новый поток вывода, без автоматического сброса строки, для указанного имени файла. |
PrintStream |
Создаёт новый поток вывода, без автоматического сброса строки, для указанного имени файла и кодировки. |
PrintStream |
Создаёт новый поток вывода, без автоматического сброса строки, для указанного имени файла и набора символов. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
PrintStream |
append |
Добавляет указанный символ в этот поток вывода. |
PrintStream |
append |
Добавляет указанную последовательность символов в этот поток вывода. |
PrintStream |
append |
Добавляет подпоследовательность указанной последовательности символов в этот поток вывода. |
Charset |
charset() |
Возвращает набор символов, используемый в этом экземпляре класса PrintStream. |
boolean |
checkError() |
Сбрасывает поток, если он не закрыт, и проверяет состояние ошибки. |
protected void |
clearError() |
Очищает состояние ошибки этого потока. |
void |
close() |
Закрывает поток. |
void |
flush() |
Сбрасывает поток. |
PrintStream |
format |
Записывает отформатированную строку в этот поток вывода, используя указанную строку формата и аргументы. |
PrintStream |
format |
Записывает отформатированную строку в этот поток вывода, используя указанную строку формата и аргументы. |
void |
print |
Выводит значение булевого типа. |
void |
print |
Выводит символ. |
void |
print |
Выводит массив символов. |
void |
print |
Выводит число с двойной точностью. |
void |
print |
Выводит число с плавающей запятой. |
void |
print |
Выводит целое число. |
void |
print |
Выводит целое число типа long. |
void |
print |
Выводит объект. |
void |
print |
Выводит строку. |
PrintStream |
printf |
Удобный метод для записи отформатированной строки в этот поток вывода, используя указанную строку формата и аргументы. |
PrintStream |
printf |
Удобный метод для записи отформатированной строки в этот поток вывода, используя указанную строку формата и аргументы. |
void |
println() |
Завершает текущую строку, записав разделитель строк. |
void |
println |
Выводит значение булевого типа и затем завершает строку. |
void |
println |
Выводит символ и затем завершает строку. |
void |
println |
Выводит массив символов и затем завершает строку. |
void |
println |
Выводит число с двойной точностью и затем завершает строку. |
void |
println |
Выводит число с плавающей запятой и затем завершает строку. |
void |
println |
Выводит целое число и затем завершает строку. |
void |
println |
Выводит целое число типа long и затем завершает строку. |
void |
println |
Выводит объект и затем завершает строку. |
void |
println |
Выводит строку и затем завершает строку. |
protected void |
setError() |
Устанавливает состояние ошибки потока в true. |
void |
write |
Записывает все байты из указанного массива байтов в этот поток. |
void |
write |
Записывает len байтов из указанного массива байтов, начиная с смещения off, в этот поток. |
void |
write |
Записывает указанный байт в этот поток. |
void |
writeBytes |
Записывает все байты из указанного массива байтов в этот поток. |
Методы, объявленные в классе java.io.OutputStream
nullOutputStream
Подробное описание конструкторов
PrintStream
public PrintStream(OutputStream out)
out является PrintStream, кодировки, используемой потоком вывода.- Параметры:
-
out- Поток вывода, в который будут выводиться значения и объекты - См. также:
PrintStream
public PrintStream(OutputStream out, boolean autoFlush)
out является PrintStream, кодировки, используемой потоком вывода.- Параметры:
-
out- Поток вывода, в который будут выводиться значения и объекты -
autoFlush- Определяет, будет ли буфер вывода очищаться всякий раз, когда записывается массив байтов, вызывается один изprintlnметодов или записывается символ новой строки или байт ('\n') - См. также:
PrintStream
public PrintStream(OutputStream out, boolean autoFlush, String encoding) throws UnsupportedEncodingException
- Параметры:
-
out- Поток вывода, в который будут выводиться значения и объекты -
autoFlush- Определяет, будет ли буфер вывода очищаться всякий раз, когда записывается массив байтов, вызывается один изprintlnметодов или записывается символ новой строки или байт ('\n') -
encoding- Имя поддерживаемой кодировки символов - Исключения:
-
UnsupportedEncodingException- Если указанная кодировка не поддерживается - С:
- 1.4
PrintStream
public PrintStream(OutputStream out, boolean autoFlush, Charset charset)
OutputStreamWriter, который будет кодировать символы с использованием указанной кодировки.- Параметры:
-
out- Поток вывода, в который будут выводиться значения и объекты -
autoFlush- Определяет, будет ли буфер вывода очищаться всякий раз, когда записывается массив байтов, вызывается один изprintlnметодов или записывается символ новой строки или байт ('\n') -
charset- Кодировка - С:
- 10
PrintStream
public PrintStream(String fileName) throws FileNotFoundException
OutputStreamWriter, который будет кодировать символы с использованием кодировки по умолчанию для данной виртуальной машины Java.- Параметры:
-
fileName- Имя файла, используемого в качестве назначения для данного потока вывода. Если файл существует, он будет обнулён; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован. - Исключения:
-
FileNotFoundException- Если заданный объект файла не обозначает существующий, доступный для записи обычный файл, и новый обычный файл с этим именем не может быть создан, или если произошла какая-либо другая ошибка при открытии или создании файла - С:
- 1.5
- См. также:
PrintStream
public PrintStream(String fileName, String csn) throws FileNotFoundException, UnsupportedEncodingException
OutputStreamWriter, который будет кодировать символы с использованием указанной кодировки.- Параметры:
-
fileName- Имя файла, используемого в качестве назначения для данного потока вывода. Если файл существует, он будет обнулён; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован. -
csn- Имя поддерживаемой кодировки - Исключения:
-
FileNotFoundException- Если заданный объект файла не обозначает существующий, доступный для записи обычный файл, и новый обычный файл с этим именем не может быть создан, или если произошла какая-либо другая ошибка при открытии или создании файла -
UnsupportedEncodingException- Если указанная кодировка не поддерживается - С:
- 1.5
PrintStream
public PrintStream(String fileName, Charset charset) throws IOException
OutputStreamWriter, который будет кодировать символы с использованием указанной кодировки.- Параметры:
-
fileName- Имя файла, используемого в качестве назначения для данного потока вывода. Если файл существует, он будет обнулён; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован. -
charset- Кодировка - Исключения:
-
IOException- если произошла ошибка ввода-вывода при открытии или создании файла - С:
- 10
PrintStream
public PrintStream(File file) throws FileNotFoundException
OutputStreamWriter, который будет кодировать символы с использованием кодировки по умолчанию для данной виртуальной машины Java.- Параметры:
-
file- Файл, используемый в качестве назначения для данного потока вывода. Если файл существует, он будет обнулён; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован. - Исключения:
-
FileNotFoundException- Если заданный объект файла не обозначает существующий, доступный для записи обычный файл, и новый обычный файл с этим именем не может быть создан, или если произошла какая-либо другая ошибка при открытии или создании файла - С:
- 1.5
- См. также:
PrintStream
public PrintStream(File file, String csn) throws FileNotFoundException, UnsupportedEncodingException
OutputStreamWriter, который будет кодировать символы с использованием указанной кодировки.- Параметры:
-
file- Файл, используемый в качестве назначения для данного потока вывода. Если файл существует, он будет обнулён; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован. -
csn- Имя поддерживаемой кодировки - Исключения:
-
FileNotFoundException- Если заданный объект файла не обозначает существующий, доступный для записи обычный файл, и новый обычный файл с этим именем не может быть создан, или если произошла какая-либо другая ошибка при открытии или создании файла -
UnsupportedEncodingException- Если указанная кодировка не поддерживается - С:
- 1.5
PrintStream
public PrintStream(File file, Charset charset) throws IOException
OutputStreamWriter, который будет кодировать символы с использованием указанной кодировки.- Параметры:
-
file- Файл, используемый в качестве назначения для данного потока вывода. Если файл существует, он будет обнулён; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован. -
charset- Кодировка - Исключения:
-
IOException- если произошла ошибка ввода-вывода при открытии или создании файла - С:
- 10
Подробное описание методов
flush
public void flush()
- Specified by:
-
flushin interfaceFlushable - Overrides:
-
flushin classFilterOutputStream - See Also:
close
public void close()
- Specified by:
-
closein interfaceAutoCloseable - Specified by:
-
closein interfaceCloseable - Overrides:
-
closein classFilterOutputStream - See Also:
checkError
public boolean checkError()
- Returns:
-
trueтогда и только тогда, когда этот поток столкнулся сIOExceptionили методsetErrorбыл вызван
setError
protected void setError()
true. Этот метод заставит последующие вызовы checkError() возвращать true до тех пор, пока не будет вызван clearError().
- Since:
- 1.1
clearError
protected void clearError()
Этот метод заставит последующие вызовы checkError() возвращать false до тех пор, пока другая операция записи не завершится ошибкой и не вызовет setError().
- Since:
- 1.6
write
public void write(int b)
flush. Обратите внимание, что байт записывается как есть; для записи символа, который будет преобразован в соответствии с кодировкой по умолчанию, используйте методы print(char) или println(char).
- Overrides:
-
writein classFilterOutputStream - Parameters:
-
b- Байт для записи - See Also:
write
public void write(byte[] buf, int off, int len)
len байта из указанного массива байтов, начиная со смещения off в этот поток. Если автоматическое очищение включено, то на базовом потоке вывода будет вызван метод flush. Обратите внимание, что байты записываются как есть; для записи символов, которые будут преобразовываться в соответствии с кодировкой по умолчанию, используйте методы print(char) или println(char).
- Overrides:
-
writein classFilterOutputStream - Parameters:
-
buf- Массив байтов -
off- Смещение, с которого начинать взятие байтов -
len- Количество байтов для записи - Throws:
-
IndexOutOfBoundsException- Еслиoffотрицательно,lenотрицательно илиlenбольше, чемb.length - off - See Also:
write
public void write(byte[] buf) throws IOException
flush. Обратите внимание, что байты записываются как есть; для записи символов, которые будут преобразовываться в соответствии с кодировкой по умолчанию, используйте методы print(char[]) или println(char[]).
- Overrides:
-
writein classFilterOutputStream - API Note:
- Хотя объявлено, что будет выбрасывать
IOException, этот метод фактически этого никогда не делает. Вместо этого, как и другие методы, которые переопределяет этот класс, он устанавливает внутренний флаг, который можно проверить с помощью методаcheckError(). Для записи массива байтов без необходимости написания блокаcatchдляIOException, используйте либоwriteBytes(buf), либоwrite(buf, 0, buf.length). - Implementation Requirements:
- Этот метод эквивалентен
this.write(buf, 0, buf.length). - Parameters:
-
buf- Массив байтов - Throws:
-
IOException- Если произошла ошибка ввода-вывода. - See Also:
writeBytes
public void writeBytes(byte[] buf)
flush. Обратите внимание, что байты записываются как есть; для записи символов, которые будут преобразовываться в соответствии с кодировкой по умолчанию, используйте методы print(char[]) или println(char[]).
- Implementation Requirements:
- Этот метод эквивалентен
this.write(buf, 0, buf.length). - Parameters:
-
buf- Массив байтов - Since:
- 14
public void print(boolean b)
String.valueOf(boolean), преобразуется в байты в соответствии с кодировкой по умолчанию, и эти байты записываются точно так же, как и в методе write(int).- Parameters:
-
b- Булево значение для вывода - See Also:
public void print(char c)
write(int).- Parameters:
-
c- Символ для вывода - See Also:
public void print(int i)
String.valueOf(int), преобразуется в байты в соответствии с кодировкой по умолчанию, и эти байты записываются точно так же, как и в методе write(int).- Parameters:
-
i- Целое число для вывода - See Also:
public void print(long l)
String.valueOf(long), преобразуется в байты в соответствии с кодировкой по умолчанию, и эти байты записываются точно так же, как и в методе write(int).- Parameters:
-
l- Длинное целое число для вывода - See Also:
public void print(float f)
String.valueOf(float), преобразуется в байты в соответствии с кодировкой по умолчанию, и эти байты записываются точно так же, как и в методе write(int).- Parameters:
-
f- Число с плавающей точкой для вывода - See Also:
public void print(double d)
String.valueOf(double), преобразуется в байты в соответствии с кодировкой по умолчанию, и эти байты записываются точно так же, как и в методе write(int).- Parameters:
-
d- Выводимоеdouble - See Also:
public void print(char[] s)
write(int).- Parameters:
-
s- Массив символов, подлежащий выводу - Throws:
-
NullPointerException- Еслиsявляетсяnull - See Also:
public void print(String s)
null, то печатается строка "null". В противном случае символы строки преобразуются в байты в соответствии с кодировкой символов, заданной в конструкторе, или кодировкой по умолчанию, если она не указана. Эти байты записываются точно так же, как и в методе write(int).- Parameters:
-
s- ПечатаемаяString - See Also:
public void print(Object obj)
String.valueOf(Object), преобразуется в байты в соответствии с кодировкой по умолчанию, и эти байты записываются точно так же, как и в методе write(int).- Parameters:
-
obj- ВыводимыйObject - See Also:
println
public void println()
line.separator и не обязательно является единственным символом новой строки ('\n').println
public void println(boolean x)
print(boolean), а затем println().- Parameters:
-
x- Выводимоеboolean
println
public void println(char x)
print(char), а затем println().- Parameters:
-
x- Выводимыйchar.
println
public void println(int x)
print(int), а затем println().- Parameters:
-
x- Выводимоеint.
println
public void println(long x)
print(long), а затем println().- Parameters:
-
x- Выводимоеlong.
println
public void println(float x)
print(float), а затем println().- Parameters:
-
x- Выводимоеfloat.
println
public void println(double x)
print(double), а затем println().- Parameters:
-
x- Выводимоеdouble.
println
public void println(char[] x)
print(char[]), а затем println().- Parameters:
-
x- массив символов для вывода.
println
public void println(String x)
print(String) и затем println().- Parameters:
-
x- ВыводимаяString.
println
public void println(Object x)
print(String) и затем println().- Parameters:
-
x- ВыводимыйObject.
printf
public PrintStream printf(String format, Object... args)
Вызов этого метода в форме out.printf(format, args) ведет себя точно так же, как вызов
out.format(format, args)
- Parameters:
-
format- Строка формата, как описано в Синтаксисе строки формата -
args- Аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, дополнительные аргументы игнорируются. Количество аргументов является переменным и может быть нулевым. Максимальное количество аргументов ограничено максимальным размером массива Java, как определено в Спецификации виртуальной машины Java. Поведение сnullаргументом зависит от преобразования. - Returns:
- Этот поток вывода
- Throws:
-
IllegalFormatException- Если строка формата содержит неверный синтаксис, спецификатор формата несовместим с заданными аргументами, недостаточно аргументов для строки формата или другие недопустимые условия. Для спецификации всех возможных ошибок форматирования см. раздел Подробности в спецификации класса formatter. -
NullPointerException- Еслиformatявляетсяnull - Since:
- 1.5
printf
public PrintStream printf(Locale l, String format, Object... args)
Вызов этого метода в форме out.printf(l, format, args) ведет себя точно так же, как вызов
out.format(l, format, args)
- Параметры:
-
l- язык, который следует применять при форматировании. Еслиlравенnull, то локализация не применяется. -
format- Строка формата, как описано в синтаксисе строк формата -
args- Аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, дополнительные аргументы игнорируются. Количество аргументов переменное и может быть нулевым. Максимальное количество аргументов ограничено максимальным размером массива Java, определенным в Спецификации виртуальной машины Java. Поведение сnullаргументом зависит от преобразования. - Возвращает:
- Этот поток вывода
- Исключения:
-
IllegalFormatException- Если строка формата содержит неправильный синтаксис, спецификатор формата несовместим с заданными аргументами, недостаточно аргументов для строки формата или другие недопустимые условия. Для описания всех возможных ошибок форматирования см. раздел Подробности спецификации класса форматировщик. -
NullPointerException- Еслиformatравноnull - С:
- 1.5
format
public PrintStream format(String format, Object... args)
Используемый язык всегда — тот, который возвращается методом Locale.getDefault(Locale.Category) со спецификацией категории FORMAT, независимо от предыдущих вызовов других методов форматирования для этого объекта.
- Параметры:
-
format- Строка формата, как описано в синтаксисе строк формата -
args- Аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, дополнительные аргументы игнорируются. Количество аргументов переменное и может быть нулевым. Максимальное количество аргументов ограничено максимальным размером массива Java, определенным в Спецификации виртуальной машины Java. Поведение сnullаргументом зависит от преобразования. - Возвращает:
- Этот поток вывода
- Исключения:
-
IllegalFormatException- Если строка формата содержит неправильный синтаксис, спецификатор формата несовместим с заданными аргументами, недостаточно аргументов для строки формата или другие недопустимые условия. Для описания всех возможных ошибок форматирования см. раздел Подробности спецификации класса форматировщик. -
NullPointerException- Еслиformatравноnull - С:
- 1.5
format
public PrintStream format(Locale l, String format, Object... args)
- Параметры:
-
l- язык, который следует применять при форматировании. Еслиlравноnull, то локализация не применяется. -
format- Строка формата, как описано в синтаксисе строк формата -
args- Аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, дополнительные аргументы игнорируются. Количество аргументов переменное и может быть нулевым. Максимальное количество аргументов ограничено максимальным размером массива Java, определенным в Спецификации виртуальной машины Java. Поведение сnullаргументом зависит от преобразования. - Возвращает:
- Этот поток вывода
- Исключения:
-
IllegalFormatException- Если строка формата содержит неправильный синтаксис, спецификатор формата несовместим с заданными аргументами, недостаточно аргументов для строки формата или другие недопустимые условия. Для описания всех возможных ошибок форматирования см. раздел Подробности спецификации класса форматировщик. -
NullPointerException- Еслиformatравноnull - С:
- 1.5
append
public PrintStream append(CharSequence csq)
Вызов этого метода в форме out.append(csq), когда csq не равно null, ведет себя точно так же, как вызов
out.print(csq.toString())
В зависимости от спецификации toString для последовательности символов csq, вся последовательность может быть не добавлена. Например, вызов метода toString буфера символов вернет подпоследовательность, содержание которой зависит от позиции и предела буфера.
- Определено в:
-
appendв интерфейсеAppendable - Параметры:
-
csq- Последовательность символов для добавления. Еслиcsqравноnull, то в этот поток вывода добавляются четыре символа"null". - Возвращает:
- Этот поток вывода
- С:
- 1.5
append
public PrintStream append(CharSequence csq, int start, int end)
Вызов этого метода в форме out.append(csq, start, end), когда csq не равно null, ведет себя точно так же, как вызов
out.print(csq.subSequence(start, end).toString())
- Определено в:
-
appendв интерфейсеAppendable - Параметры:
-
csq- Последовательность символов, из которой будет взята подпоследовательность для добавления. Еслиcsqравноnull, символы будут добавлены так, как будтоcsqсодержал четыре символа"null". -
start- Индекс первого символа в подпоследовательности -
end- Индекс символа, следующего за последним символом в подпоследовательности - Возвращает:
- Этот поток вывода
- Исключения:
-
IndexOutOfBoundsException- Еслиstartилиendотрицательны,startбольше, чемend, илиendбольше, чемcsq.length() - С:
- 1.5
append
public PrintStream append(char c)
Вызов этого метода в форме out.append(c) ведет себя точно так же, как вызов
out.print(c)
- Определено в:
-
appendв интерфейсеAppendable - Параметры:
-
c- Символ (16-битный) для добавления - Возвращает:
- Этот поток вывода
- С:
- 1.5
charset
public Charset charset()
PrintStream экземпляре.- Возвращает:
- кодировку символов, используемую в этом
PrintStreamэкземпляре - С:
- 18
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/io/PrintStream.html