Класс PrintWriter
- Все реализуемые интерфейсы:
-
Closeable,Flushable,Appendable,AutoCloseable
public class PrintWriter extends Writer
print , присутствующие в PrintStream. Он не содержит методов для записи сырых байтов, для которых программа должна использовать потоки байтов без кодирования. В отличие от класса PrintStream, если автоматическая очистка включена, она будет выполняться только при вызове одного из методов println, printf, или format, а не при каждом выводе символа новой строки. Эти методы используют собственную концепцию разделителя строк платформы вместо символа новой строки.
Методы в этом классе никогда не выбрасывают исключения I/O, хотя некоторые из его конструкторов могут. Клиент может узнать о возникновении ошибок, вызвав checkError().
Этот класс всегда заменяет неправильные и неотображаемые последовательности символов строкой замены по умолчанию кодировки. Класс CharsetEncoder следует использовать, когда требуется больший контроль над процессом кодирования.
- С тех пор:
- 1.1
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected Writer |
out |
Основной поток вывода символов этого PrintWriter. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
PrintWriter |
Создаёт новый PrintWriter без автоматической очистки строк с указанным файлом. |
PrintWriter |
Создаёт новый PrintWriter без автоматической очистки строк с указанным файлом и кодировкой. |
PrintWriter |
Создаёт новый PrintWriter без автоматической очистки строк с указанным файлом и кодировкой. |
PrintWriter |
Создаёт новый PrintWriter без автоматической очистки строк из существующего OutputStream. |
PrintWriter |
Создаёт новый PrintWriter из существующего OutputStream. |
PrintWriter |
Создаёт новый PrintWriter из существующего OutputStream. |
PrintWriter |
Создаёт новый PrintWriter без автоматической очистки строк. |
PrintWriter |
Создаёт новый PrintWriter. |
PrintWriter |
Создаёт новый PrintWriter без автоматической очистки строк с указанным именем файла. |
PrintWriter |
Создаёт новый PrintWriter без автоматической очистки строк с указанным именем файла и кодировкой. |
PrintWriter |
Создаёт новый PrintWriter без автоматической очистки строк с указанным именем файла и кодировкой. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
PrintWriter |
append |
Добавляет указанный символ в этот writer. |
PrintWriter |
append |
Добавляет указанную последовательность символов в этот writer. |
PrintWriter |
append |
Добавляет подпоследовательность указанной последовательности символов в этот writer. |
boolean |
checkError() |
Очищает поток, если он не закрыт, и проверяет состояние ошибки. |
protected void |
clearError() |
Очищает состояние ошибки этого потока. |
void |
close() |
Закрывает поток и освобождает любые системные ресурсы, связанные с ним. |
void |
flush() |
Очищает поток. |
PrintWriter |
format |
Записывает отформатированную строку в этот writer с помощью указанной строки формата и аргументов. |
PrintWriter |
format |
Записывает отформатированную строку в этот writer с помощью указанной строки формата и аргументов. |
void |
print |
Печатает значение boolean. |
void |
print |
Печатает символ. |
void |
print |
Печатает массив символов. |
void |
print |
Печатает число с двойной точностью с плавающей запятой. |
void |
print |
Печатает число с плавающей запятой. |
void |
print |
Печатает целое число. |
void |
print |
Печатает длинное целое число. |
void |
print |
Печатает объект. |
void |
print |
Печатает строку. |
PrintWriter |
printf |
Удобный метод для записи отформатированной строки в этот writer с использованием указанной строки формата и аргументов. |
PrintWriter |
printf |
Удобный метод для записи отформатированной строки в этот writer с использованием указанной строки формата и аргументов. |
void |
println() |
Завершает текущую строку, записав строку разделителя строк. |
void |
println |
Печатает значение boolean и затем завершает строку. |
void |
println |
Печатает символ и затем завершает строку. |
void |
println |
Печатает массив символов и затем завершает строку. |
void |
println |
Печатает число с двойной точностью с плавающей запятой и затем завершает строку. |
void |
println |
Печатает число с плавающей запятой и затем завершает строку. |
void |
println |
Печатает целое число и затем завершает строку. |
void |
println |
Печатает длинное целое число и затем завершает строку. |
void |
println |
Печатает объект и затем завершает строку. |
void |
println |
Печатает строку и затем завершает строку. |
protected void |
setError() |
Устанавливает состояние ошибки потока в true. |
void |
write |
Записывает массив символов. |
void |
write |
Записывает часть массива символов. |
void |
write |
Записывает один символ. |
void |
write |
Записывает строку. |
void |
write |
Записывает часть строки. |
Методы, объявленные в классе java.io.Writer
nullWriter
Подробное описание полей
out
protected Writer out
PrintWriter.- С момента:
- 1.2
Подробное описание конструкторов
PrintWriter
public PrintWriter(Writer out)
- Параметры:
-
out- Поток вывода символов
PrintWriter
public PrintWriter(Writer out, boolean autoFlush)
- Параметры:
-
out- Поток вывода символов -
autoFlush- Булево значение; если true, методыprintln,printf, илиformatбудут сбрасывать буфер вывода
PrintWriter
public PrintWriter(OutputStream out)
out является PrintStream.- Параметры:
-
out- Поток вывода - См. также:
PrintWriter
public PrintWriter(OutputStream out, boolean autoFlush)
out является PrintStream.- Параметры:
-
out- Поток вывода -
autoFlush- Булево значение; если true, методыprintln,printf, илиformatбудут сбрасывать буфер вывода - См. также:
PrintWriter
public PrintWriter(OutputStream out, boolean autoFlush, Charset charset)
- Параметры:
-
out- Поток вывода -
autoFlush- Булево значение; если true, методыprintln,printf, илиformatбудут сбрасывать буфер вывода -
charset- Кодировка - С момента:
- 10
PrintWriter
public PrintWriter(String fileName) throws FileNotFoundException
OutputStreamWriter, который будет кодировать символы, используя кодировку по умолчанию для данной виртуальной машины Java.- Параметры:
-
fileName- Имя файла, используемого в качестве назначения для этого класса записи. Если файл существует, он будет обнулен до нулевого размера; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован. - Исключение:
-
FileNotFoundException- Если заданная строка не обозначает существующий, доступный для записи обычный файл и новый обычный файл с таким именем не может быть создан, или если произошла какая-либо другая ошибка при открытии или создании файла -
SecurityException- Если присутствует менеджер безопасности, иcheckWrite(fileName)запрещает доступ для записи к файлу - С момента:
- 1.5
- См. также:
PrintWriter
public PrintWriter(String fileName, String csn) throws FileNotFoundException, UnsupportedEncodingException
OutputStreamWriter, который будет кодировать символы, используя предоставленную кодировку.- Параметры:
-
fileName- Имя файла, используемого в качестве назначения для этого класса записи. Если файл существует, он будет обнулен до нулевого размера; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован. -
csn- Имя поддерживаемой кодировки - Исключение:
-
FileNotFoundException- Если заданная строка не обозначает существующий, доступный для записи обычный файл и новый обычный файл с таким именем не может быть создан, или если произошла какая-либо другая ошибка при открытии или создании файла -
SecurityException- Если присутствует менеджер безопасности, иcheckWrite(fileName)запрещает доступ для записи к файлу -
UnsupportedEncodingException- Если указанная кодировка не поддерживается - С момента:
- 1.5
PrintWriter
public PrintWriter(String fileName, Charset charset) throws IOException
OutputStreamWriter, который будет кодировать символы, используя предоставленную кодировку.- Параметры:
-
fileName- Имя файла, используемого в качестве назначения для этого класса записи. Если файл существует, он будет обнулен до нулевого размера; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован. -
charset- Кодировка - Исключение:
-
IOException- если произошла ошибка ввода-вывода при открытии или создании файла -
SecurityException- Если присутствует менеджер безопасности, иcheckWrite(fileName)запрещает доступ для записи к файлу - С момента:
- 10
PrintWriter
public PrintWriter(File file) throws FileNotFoundException
OutputStreamWriter, который будет кодировать символы, используя кодировку по умолчанию для данной виртуальной машины Java.- Параметры:
-
file- Файл, используемый в качестве назначения для этого класса записи. Если файл существует, он будет обнулен до нулевого размера; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован. - Исключение:
-
FileNotFoundException- Если указанный объект файла не обозначает существующий, доступный для записи обычный файл и новый обычный файл с таким именем не может быть создан, или если произошла какая-либо другая ошибка при открытии или создании файла -
SecurityException- Если присутствует менеджер безопасности, иcheckWrite(file.getPath())запрещает доступ для записи к файлу - С момента:
- 1.5
- См. также:
PrintWriter
public PrintWriter(File file, String csn) throws FileNotFoundException, UnsupportedEncodingException
OutputStreamWriter, который будет кодировать символы, используя предоставленную кодировку.- Параметры:
-
file- Файл, используемый в качестве назначения для этого класса записи. Если файл существует, он будет обнулен до нулевого размера; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован. -
csn- Имя поддерживаемой кодировки - Исключение:
-
FileNotFoundException- Если указанный объект файла не обозначает существующий, доступный для записи обычный файл и новый обычный файл с таким именем не может быть создан, или если произошла какая-либо другая ошибка при открытии или создании файла -
SecurityException- Если присутствует менеджер безопасности, иcheckWrite(file.getPath())запрещает доступ для записи к файлу -
UnsupportedEncodingException- Если указанная кодировка не поддерживается - С момента:
- 1.5
PrintWriter
public PrintWriter(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 - Specified by:
-
flushв классеWriter - See Also:
close
public void close()
- Specified by:
-
closeв интерфейсеAutoCloseable - Specified by:
-
closeв интерфейсеCloseable - Specified by:
-
closeв классеWriter - See Also:
checkError
public boolean checkError()
- Returns:
-
trueтогда и только тогда, когда в этом потоке произошлаIOException, или методsetErrorбыл вызван
setError
protected void setError()
true. Этот метод заставит последующие вызовы checkError() возвращать true до тех пор, пока не будет вызван clearError().
clearError
protected void clearError()
Этот метод заставит последующие вызовы checkError() возвращать false до тех пор, пока другая операция записи не завершится неудачей и не вызовет setError().
- Since:
- 1.6
write
public void write(int c)
- Overrides:
-
writeв классеWriter - Parameters:
-
c- целое число, определяющее символ для записи.
write
public void write(char[] buf, int off, int len)
- Specified by:
-
writeв классеWriter - Parameters:
-
buf- Массив символов -
off- Смещение, с которого следует начать запись символов -
len- Количество символов для записи - Throws:
-
IndexOutOfBoundsException- Если значения параметровoffиlenвызывают соответствующий метод базовогоWriterдля выбросаIndexOutOfBoundsException
write
public void write(char[] buf)
- Overrides:
-
writeв классеWriter - Parameters:
-
buf- Массив символов для записи
write
public void write(String s, int off, int len)
- Overrides:
-
writeв классеWriter - Parameters:
-
s- Строка -
off- Смещение, с которого следует начать запись символов -
len- Количество символов для записи - Throws:
-
IndexOutOfBoundsException- Если значения параметровoffиlenвызывают соответствующий метод базовогоWriterдля выбросаIndexOutOfBoundsException
write
public void write(String s)
- Overrides:
-
writeв классеWriter - Parameters:
-
s- Записываемая строка
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- Печатаемое целое число типа long - 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- Печатаемое число с двойной точностью - 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()
System.lineSeparator() и не обязательно является единственным символом новой строки ('\n').println
public void println(boolean x)
print(boolean), а затем println().- Parameters:
-
x- Булево значение для вывода
println
public void println(char x)
print(char) и затем println().- Parameters:
-
x- Символ для вывода
println
public void println(int x)
print(int) и затем println().- Parameters:
-
x- Целое число для вывода
println
public void println(long x)
print(long) и затем println().- Parameters:
-
x- Значение типа long для вывода
println
public void println(float x)
print(float) и затем println().- Parameters:
-
x- Число с плавающей точкой для вывода
println
public void println(double x)
print(double) и затем println().- Parameters:
-
x- Число с двойной точностью для вывода
println
public void println(char[] x)
print(char[]) и затем println().- Parameters:
-
x- Массив символов для вывода
println
public void println(String x)
print(String) и затем println().- Parameters:
-
x- Строка для вывода
println
public void println(Object x)
print(String) и затем println().- Parameters:
-
x- Объект для вывода.
printf
public PrintWriter printf(String format, Object... args)
Вызов этого метода в форме out.printf(format, args) ведет себя точно так же, как вызов
out.format(format, args)
- Parameters:
-
format- Строка формата, как описано в Синтаксис строки формата. -
args- Аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, лишние аргументы игнорируются. Количество аргументов переменное и может быть нулевым. Максимальное количество аргументов ограничено максимальным размером массива Java, определенным в Спецификации виртуальной машины Java. Поведение с аргументомnullзависит от преобразования. - Returns:
- Этот объект-писатель
- Throws:
-
IllegalFormatException- Если строка формата содержит неверный синтаксис, спецификатор формата несовместим с заданными аргументами, недостаточно аргументов для строки формата или другие неверные условия. Для описания всех возможных ошибок форматирования см. раздел Подробности спецификации класса formatter. -
NullPointerException- Еслиformatnull - Since:
- 1.5
printf
public PrintWriter printf(Locale l, String format, Object... args)
Вызов этого метода в форме out.printf(l, format, args) ведет себя точно так же, как вызов
out.format(l, format, args)
- Parameters:
-
l- Локаль для применения при форматировании. Еслиlравнаnull, то никакая локализация не применяется. -
format- Строка формата, как описано в Синтаксис строки формата. -
args- Аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, лишние аргументы игнорируются. Количество аргументов переменное и может быть нулевым. Максимальное количество аргументов ограничено максимальным размером массива Java, определенным в Спецификации виртуальной машины Java. Поведение с аргументомnullзависит от преобразования. - Returns:
- Этот объект-писатель
- Throws:
-
IllegalFormatException- Если строка формата содержит неверный синтаксис, спецификатор формата несовместим с заданными аргументами, недостаточно аргументов для строки формата или другие неверные условия. Для описания всех возможных ошибок форматирования см. раздел Подробности спецификации класса formatter. -
NullPointerException- Еслиformatnull - Since:
- 1.5
format
public PrintWriter format(String format, Object... args)
Локаль, всегда используемая, — это локаль, возвращаемая методом Locale.getDefault(), независимо от предыдущих вызовов других методов форматирования для этого объекта.
- Parameters:
-
format- Строка формата, как описано в Синтаксис строки формата. -
args- Аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, лишние аргументы игнорируются. Количество аргументов переменное и может быть нулевым. Максимальное количество аргументов ограничено максимальным размером массива Java, определенным в Спецификации виртуальной машины Java. Поведение с аргументомnullзависит от преобразования. - Returns:
- Этот объект-писатель
- Throws:
-
IllegalFormatException- Если строка формата содержит неверный синтаксис, спецификатор формата несовместим с заданными аргументами, недостаточно аргументов для строки формата или другие неверные условия. Для описания всех возможных ошибок форматирования см. раздел Подробности спецификации класса Formatter. -
NullPointerException- Еслиformatnull - Since:
- 1.5
format
public PrintWriter format(Locale l, String format, Object... args)
- Parameters:
-
l- Локаль для применения при форматировании. Еслиlявляетсяnull, то локализация не применяется. -
format- Строка формата, как описано в синтаксисе строк формата. -
args- Аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, лишние аргументы игнорируются. Количество аргументов может быть переменным и может быть равно нулю. Максимальное количество аргументов ограничено максимальным размером массива Java, как определено в Спецификации виртуальной машины Java. Поведение сnullаргументом зависит от преобразования. - Returns:
- Этот поток
- Throws:
-
IllegalFormatException- Если строка формата содержит неверный синтаксис, спецификатор формата несовместим с заданными аргументами, недостаточно аргументов для заданной строки формата или другие неверные условия. Список всех возможных ошибок форматирования см. в разделе Подробности спецификации класса formatter. -
NullPointerException- Еслиformatявляетсяnull - Since:
- 1.5
append
public PrintWriter append(CharSequence csq)
Вызов этого метода вида out.append(csq) ведет себя точно так же, как вызов
out.write(csq.toString())
В зависимости от спецификации toString для последовательности символов csq, вся последовательность может не быть добавлена. Например, вызов метода toString буфера символов вернет подпоследовательность, содержимое которой зависит от позиции и предела буфера.
- Specified by:
-
appendв интерфейсеAppendable - Overrides:
-
appendв классеWriter - Parameters:
-
csq- Последовательность символов для добавления. Еслиcsqравноnull, то в этот поток добавляются четыре символа"null". - Returns:
- Этот поток
- Since:
- 1.5
append
public PrintWriter append(CharSequence csq, int start, int end)
Вызов этого метода вида out.append(csq, start, end) когда csq не равно null, ведет себя точно так же, как вызов
out.write(csq.subSequence(start, end).toString())
- Specified by:
-
appendв интерфейсеAppendable - Overrides:
-
appendв классеWriter - Parameters:
-
csq- Последовательность символов, из которой будет добавлена подпоследовательность. Еслиcsqравноnull, то символы будут добавлены так, как будтоcsqсодержал четыре символа"null". -
start- Индекс первого символа в подпоследовательности -
end- Индекс символа, следующего за последним символом в подпоследовательности - Returns:
- Этот поток
- Throws:
-
IndexOutOfBoundsException- Еслиstartилиendотрицательны,startбольшеend, илиendбольшеcsq.length() - Since:
- 1.5
append
public PrintWriter append(char c)
Вызов этого метода вида out.append(c) ведет себя точно так же, как вызов
out.write(c)
- Specified by:
-
appendв интерфейсеAppendable - Overrides:
-
appendв классеWriter - Parameters:
-
c- Символ 16-разрядной кодировки для добавления - Returns:
- Этот поток
- Since:
- 1.5
© 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/PrintWriter.html