Класс 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 |
Создает новый поток вывода, без автоматической очистки строки, с указанным 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 |
Выводит целое число типа 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- Если заданный объект файла не обозначает существующий, записываемый обычный файл и новый обычный файл с таким именем не может быть создан, или если возникает какая-либо другая ошибка при открытии или создании файла -
SecurityException- Если присутствует менеджер безопасности иcheckWrite(fileName)запрещает доступ для записи к файлу - С момента:
- 1.5
- См. также:
PrintStream
public PrintStream(String fileName, String csn) throws FileNotFoundException, UnsupportedEncodingException
OutputStreamWriter, который будет кодировать символы, используя предоставленную кодировку.- Параметры:
-
fileName- Имя файла, используемого в качестве назначения для этого потока вывода. Если файл существует, он будет обнулен; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован. -
csn- Имя поддерживаемой кодировки - Исключения:
-
FileNotFoundException- Если заданный объект файла не обозначает существующий, записываемый обычный файл и новый обычный файл с таким именем не может быть создан, или если возникает какая-либо другая ошибка при открытии или создании файла -
SecurityException- Если присутствует менеджер безопасности иcheckWrite(fileName)запрещает доступ для записи к файлу -
UnsupportedEncodingException- Если указанная кодировка не поддерживается - С момента:
- 1.5
PrintStream
public PrintStream(String fileName, Charset charset) throws IOException
OutputStreamWriter, который будет кодировать символы, используя предоставленную кодировку.- Параметры:
-
fileName- Имя файла, используемого в качестве назначения для этого потока вывода. Если файл существует, он будет обнулен; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован. -
charset- кодировка - Исключения:
-
IOException- если при открытии или создании файла возникает ошибка ввода-вывода -
SecurityException- Если присутствует менеджер безопасности иcheckWrite(fileName)запрещает доступ для записи к файлу - С момента:
- 10
PrintStream
public PrintStream(File file) throws FileNotFoundException
OutputStreamWriter, который будет кодировать символы, используя кодировку по умолчанию для данной виртуальной машины Java.- Параметры:
-
file- Файл, используемый в качестве назначения для этого потока вывода. Если файл существует, он будет обнулен; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован. - Исключения:
-
FileNotFoundException- Если заданный объект файла не обозначает существующий, записываемый обычный файл и новый обычный файл с таким именем не может быть создан, или если возникает какая-либо другая ошибка при открытии или создании файла -
SecurityException- Если присутствует менеджер безопасности иcheckWrite(file.getPath())запрещает доступ для записи к файлу - С момента:
- 1.5
- См. также:
PrintStream
public PrintStream(File file, String csn) throws FileNotFoundException, UnsupportedEncodingException
OutputStreamWriter, который будет кодировать символы, используя предоставленную кодировку.- Параметры:
-
file- Файл, используемый в качестве назначения для этого потока вывода. Если файл существует, он будет обнулен; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован. -
csn- Имя поддерживаемой кодировки - Исключения:
-
FileNotFoundException- Если заданный объект файла не обозначает существующий, записываемый обычный файл и новый обычный файл с таким именем не может быть создан, или если возникает какая-либо другая ошибка при открытии или создании файла -
SecurityException- Если присутствует менеджер безопасности иcheckWrite(file.getPath())запрещает доступ для записи к файлу -
UnsupportedEncodingException- Если указанная кодировка не поддерживается - С момента:
- 1.5
PrintStream
public PrintStream(File file, Charset charset) throws IOException
OutputStreamWriter, который будет кодировать символы, используя предоставленную кодировку.- Parameters:
-
file- Файл, используемый в качестве пункта назначения для этого потока вывода. Если файл существует, он будет обнулен до нулевого размера; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован. -
charset- Кодировка - Throws:
-
IOException- если при открытии или создании файла произошла ошибка ввода-вывода -
SecurityException- Если установлен менеджер безопасности иcheckWrite(file.getPath())запрещает доступ на запись в файл - Since:
- 10
Подробные сведения о методах
flush
public void flush()
- Specified by:
-
flushв интерфейсеFlushable - Overrides:
-
flushв классеFilterOutputStream - See Also:
close
public void close()
- Specified by:
-
closeв интерфейсеAutoCloseable - Specified by:
-
closeв интерфейсеCloseable - Overrides:
-
closeв классеFilterOutputStream - 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:
-
writeв классеFilterOutputStream - Parameters:
-
b- Байт, который нужно записать - See Also:
write
public void write(byte[] buf, int off, int len)
len байт из указанного массива байт, начиная со смещения off, в этот поток. Если включена автоматическая очистка, то метод flush будет вызван в базовом потоке вывода. Обратите внимание, что байты будут записаны как есть; чтобы записать символы, которые будут преобразовываться в соответствии с кодировкой по умолчанию, используйте методы print(char) или println(char).
- Overrides:
-
writeв классеFilterOutputStream - 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:
-
writeв классеFilterOutputStream - 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- Если произошла ошибка ввода-вывода. - Since:
- 14
- 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- Выводимоеfloat - 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- Еслиsnull - 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- a Выводимое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- Если строка формата содержит некорректный синтаксис, спецификатор формата несовместим с заданными аргументами, недостаточно аргументов для заданной строки формата или другие некорректные условия. Для описания всех возможных ошибок форматирования см. раздел Подробности в спецификации класса форматировщика. -
NullPointerException- Еслиformatnull - 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) ведет себя точно так же, как вызов
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, 2023, 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/21/docs/api/java.base/java/io/PrintStream.html