Класс 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 | Модификатор и тип | Поле | Описание |
|---|---|---|
protected OutputStream |
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 |
Выводит число типа long, а затем завершает строку. |
void |
println |
Выводит объект Object, а затем завершает строку. |
void |
println |
Выводит строку String, а затем завершает строку. |
protected void |
setError() |
Устанавливает состояние ошибки потока в значение true. |
void |
write |
Записывает в этот поток все байты из указанного массива байтов. |
void |
write |
Записывает в этот поток len байтов из указанного массива байтов, начиная со смещения off. |
void |
write |
Записывает указанный байт в этот поток. |
void |
writeBytes |
Записывает в этот поток все байты из указанного массива байтов. |
Методы, объявленные в классе OutputStream
nullOutputStream | Модификатор и тип | Метод | Описание |
|---|---|---|
static OutputStream |
nullOutputStream() |
Возвращает новый OutputStream, который отбрасывает все байты. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Показывает, равен ли этот объект другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удален в будущей версии. Финализация объявлена устаревшей и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка времени. |
Подробное описание конструкторов
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— если строка формата содержит недопустимый синтаксис, спецификатор формата несовместим с заданными аргументами, аргументов недостаточно для строки формата или возникает другое недопустимое условие. Описание всех возможных ошибок форматирования см. в разделе Подробное описание спецификации класса formatter. -
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— если строка формата содержит недопустимый синтаксис, спецификатор формата несовместим с заданными аргументами, аргументов недостаточно для строки формата или возникает другое недопустимое условие. Описание всех возможных ошибок форматирования см. в разделе Подробное описание спецификации класса formatter. -
NullPointerException— еслиformatравноnull - С версии:
- 1.5
format
public PrintStream format(String format, Object... args)
Всегда используется локаль, возвращаемая методом Locale.getDefault(Locale.Category) с указанной категорией FORMAT, независимо от любых предыдущих вызовов других методов форматирования для этого объекта.
- Параметры:
-
format— строка формата, описанная в разделе Синтаксис строки формата -
args— аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, лишние аргументы игнорируются. Число аргументов может быть переменным и равняться нулю. Максимальное число аргументов ограничено максимальным размером массива Java, определённым в Спецификации виртуальной машины Java. Поведение при аргументеnullзависит от преобразования. - Возвращает:
- этот выходной поток
- Исключения:
-
IllegalFormatException— если строка формата содержит недопустимый синтаксис, спецификатор формата несовместим с заданными аргументами, аргументов недостаточно для строки формата или возникает другое недопустимое условие. Описание всех возможных ошибок форматирования см. в разделе Подробное описание спецификации класса formatter. -
NullPointerException— еслиformatравноnull - С версии:
- 1.5
format
public PrintStream format(Locale l, String format, Object... args)
- Параметры:
-
l— локаль, применяемая при форматировании. Еслиlравноnull, локализация не применяется. -
format— строка формата, описанная в разделе Синтаксис строки формата -
args— аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, лишние аргументы игнорируются. Число аргументов может быть переменным и равняться нулю. Максимальное число аргументов ограничено максимальным размером массива Java, определённым в Спецификации виртуальной машины Java. Поведение при аргументеnullзависит от преобразования. - Возвращает:
- этот выходной поток
- Исключения:
-
IllegalFormatException— если строка формата содержит недопустимый синтаксис, спецификатор формата несовместим с заданными аргументами, аргументов недостаточно для строки формата или возникает другое недопустимое условие. Описание всех возможных ошибок форматирования см. в разделе Подробное описание спецификации класса formatter. -
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.