Класс 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
- См. также:
Краткое описание полей
Поля, объявленные в классе FilterOutputStream
out
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
PrintStream |
Создает новый поток печати без автоматической очистки буфера при переходе на новую строку для указанного файла. |
PrintStream |
Создает новый поток печати без автоматической очистки буфера при переходе на новую строку для указанного файла и набора символов. |
PrintStream |
Создает новый поток печати без автоматической очистки буфера при переходе на новую строку для указанного файла и набора символов. |
PrintStream |
Создает новый поток печати без автоматической очистки буфера для указанного OutputStream. |
PrintStream |
Создает новый поток печати для указанного OutputStream с автоматической очисткой буфера при переходе на новую строку. |
PrintStream |
Создает новый поток печати для указанного OutputStream с автоматической очисткой буфера при переходе на новую строку и заданной кодировкой символов. |
PrintStream |
Создает новый поток печати для указанного OutputStream с автоматической очисткой буфера при переходе на новую строку и заданным набором символов. |
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 |
Выводит длинное целое число. |
void |
print |
Выводит объект. |
void |
print |
Выводит строку. |
PrintStream |
printf |
Вспомогательный метод для записи форматированной строки в этот выходной поток с использованием указанной строки формата и аргументов. |
PrintStream |
printf |
Вспомогательный метод для записи форматированной строки в этот выходной поток с использованием указанной строки формата и аргументов. |
void |
println() |
Завершает текущую строку, записывая строку-разделитель строк. |
void |
println |
Выводит логическое значение, а затем завершает строку. |
void |
println |
Выводит символ, а затем завершает строку. |
void |
println |
Выводит массив символов, а затем завершает строку. |
void |
println |
Выводит число double, а затем завершает строку. |
void |
println |
Выводит число float, а затем завершает строку. |
void |
println |
Выводит целое число, а затем завершает строку. |
void |
println |
Выводит длинное целое число, а затем завершает строку. |
void |
println |
Выводит объект Object, а затем завершает строку. |
void |
println |
Выводит строку String, а затем завершает строку. |
protected void |
setError() |
Устанавливает для состояния ошибки потока значение true. |
void |
write |
Записывает в этот поток все байты из указанного массива байтов. |
void |
write |
Записывает в этот поток len байтов из указанного массива байтов, начиная со смещения off. |
void |
write |
Записывает указанный байт в этот поток. |
void |
writeBytes |
Записывает в этот поток все байты из указанного массива байтов. |
Методы, объявленные в классе 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()
- Определено в:
-
flushв интерфейсеFlushable - Переопределяет:
-
flushв классеFilterOutputStream - См. также:
close
public void close()
- Определено в:
-
closeв интерфейсеAutoCloseable - Определено в:
-
closeв интерфейсеCloseable - Переопределяет:
-
closeв классеFilterOutputStream - См. также:
checkError
public boolean checkError()
- Возвращает:
-
trueтогда и только тогда, когда в этом потоке произошла ошибкаIOExceptionили был вызван методsetError
setError
protected void setError()
true. Этот метод приводит к тому, что последующие вызовы checkError() возвращают true, пока не будет вызван clearError().
- С версии:
- 1.1
clearError
protected void clearError()
Этот метод приводит к тому, что последующие вызовы checkError() возвращают false, пока не произойдет сбой другой операции записи и не будет вызван setError().
- С версии:
- 1.6
write
public void write(int b)
flush. Обратите внимание: байт записывается без изменений; чтобы записать символ, который будет преобразован в соответствии с кодировкой по умолчанию, используйте методы print(char) или println(char).
- Переопределяет:
-
writeв классеFilterOutputStream - Параметры:
-
b— записываемый байт - См. также:
write
public void write(byte[] buf, int off, int len)
len байтов из указанного массива байтов в этот поток, начиная со смещения off. Если включен автоматический сброс, для базового выходного потока будет вызван метод flush. Обратите внимание: байты записываются без изменений; чтобы записать символы, которые будут преобразованы в соответствии с кодировкой по умолчанию, используйте методы print(char) или println(char).
- Переопределяет:
-
writeв классеFilterOutputStream - Параметры:
-
buf— массив байтов -
off— смещение, с которого следует начинать чтение байтов -
len— количество байтов для записи - Исключения:
-
IndexOutOfBoundsException— еслиoffотрицательно,lenотрицательно илиlenбольше, чемb.length - off - См. также:
write
public void write(byte[] buf) throws IOException
flush. Обратите внимание: байты записываются без изменений; чтобы записать символы, которые будут преобразованы в соответствии с кодировкой по умолчанию, используйте методы print(char[]) или println(char[]).
- Переопределяет:
-
writeв классеFilterOutputStream - Примечание API:
- Хотя объявлено, что метод выбрасывает
IOException, фактически этого никогда не происходит. Вместо этого, как и другие переопределяемые этим классом методы, он устанавливает внутренний флаг, значение которого можно проверить с помощью методаcheckError(). Чтобы записать массив байтов, не записывая блокcatchдляIOException, используйтеwriteBytes(buf)илиwrite(buf, 0, buf.length). - Требования к реализации:
- Этот метод эквивалентен
this.write(buf, 0, buf.length). - Параметры:
-
buf— массив байтов - Исключения:
-
IOException— если возникает ошибка ввода-вывода. - См. также:
writeBytes
public void writeBytes(byte[] buf)
flush. Обратите внимание: байты записываются без изменений; чтобы записать символы, которые будут преобразованы в соответствии с кодировкой по умолчанию, используйте методы print(char[]) или println(char[]).
- Требования к реализации:
- Этот метод эквивалентен
this.write(buf, 0, buf.length). - Параметры:
-
buf— массив байтов - С версии:
- 14
public void print(boolean b)
String.valueOf(boolean), преобразуется в байты в соответствии с кодировкой по умолчанию, а эти байты записываются точно так же, как и методом write(int).- Параметры:
-
b— выводимое значение типаboolean - См. также:
public void print(char c)
write(int).- Параметры:
-
c— выводимыйchar - См. также:
public void print(int i)
String.valueOf(int), преобразуется в байты в соответствии с кодировкой по умолчанию, а эти байты записываются точно так же, как и методом write(int).- Параметры:
-
i— выводимое значение типаint - См. также:
public void print(long l)
String.valueOf(long), преобразуется в байты в соответствии с кодировкой по умолчанию, а эти байты записываются точно так же, как и методом write(int).- Параметры:
-
l— выводимое значение типаlong - См. также:
public void print(float f)
String.valueOf(float), преобразуется в байты в соответствии с кодировкой по умолчанию, а эти байты записываются точно так же, как и методом write(int).- Параметры:
-
f— выводимое значение типаfloat - См. также:
public void print(double d)
String.valueOf(double), преобразуется в байты в соответствии с кодировкой по умолчанию, а эти байты записываются точно так же, как и методом write(int).- Параметры:
-
d— выводимое значение типаdouble - См. также:
public void print(char[] s)
write(int).- Параметры:
-
s— массив символов для вывода - Исключения:
-
NullPointerException— еслиsравноnull - См. также:
public void print(String s)
null, выводится строка "null". В противном случае символы строки преобразуются в байты в соответствии с кодировкой символов, указанной в конструкторе, либо с кодировкой по умолчанию, если она не указана. Эти байты записываются точно так же, как и методом write(int).- Параметры:
-
s— выводимаяString - См. также:
public void print(Object obj)
String.valueOf(Object), преобразуется в байты в соответствии с кодировкой по умолчанию, а эти байты записываются точно так же, как и методом write(int).- Параметры:
-
obj— выводимыйObject - См. также:
println
public void println()
line.separator и не обязательно состоит из одного символа новой строки ('\n').println
public void println(boolean x)
print(boolean), а затем println().- Параметры:
-
x— выводимое значение типаboolean
println
public void println(char x)
print(char), а затем println().- Параметры:
-
x— выводимыйchar.
println
public void println(int x)
print(int), а затем println().- Параметры:
-
x— выводимое значение типаint.
println
public void println(long x)
print(long), а затем println().- Параметры:
-
x— выводимое значение типаlong.
println
public void println(float x)
print(float), а затем println().- Параметры:
-
x— выводимое значение типаfloat.
println
public void println(double x)
print(double), а затем println().- Параметры:
-
x— выводимое значение типаdouble.
println
public void println(char[] x)
print(char[]), а затем println().- Параметры:
-
x— массив символов для вывода.
println
public void println(String x)
print(String), а затем println().- Параметры:
-
x— выводимаяString.
println
public void println(Object x)
print(String), а затем println().- Параметры:
-
x— выводимыйObject.
printf
public PrintStream printf(String format, Object... args)
Вызов этого метода в форме out.printf(format, args) ведет себя точно так же, как вызов
out.format(format, args)
- Параметры:
-
format— строка формата, описанная в разделе Синтаксис строки формата -
args— аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, лишние аргументы игнорируются. Количество аргументов может быть переменным, в том числе равным нулю. Максимальное количество аргументов ограничено максимальным размером массива Java, определенным в Спецификации виртуальной машины Java. Поведение при аргументеnullзависит от преобразования. - Возвращает:
- этот поток вывода
- Исключения:
-
IllegalFormatException— если строка формата содержит недопустимый синтаксис, спецификатор формата несовместим с заданными аргументами, для строки формата задано недостаточно аргументов или возникли другие недопустимые условия. Описание всех возможных ошибок форматирования см. в разделе Подробное описание спецификации класса форматирования. -
NullPointerException— еслиformatравенnull - Начиная с версии:
- 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/PrintStream.html