Класс PrintWriter
- Все реализованные интерфейсы:
-
Closeable,Flushable,Appendable,AutoCloseable
public class PrintWriter extends Writer
print, найденные в PrintStream. Он не содержит методов для записи сырых байтов, для которых программа должна использовать потоки байтов без кодирования. В отличие от класса PrintStream, если автоматическая очистка включена, она выполняется только при вызове одного из методов println, printf или format, а не всякий раз, когда печатается символ новой строки. Эти методы используют собственную концепцию разделителя строк платформы, а не символ новой строки.
Методы в этом классе никогда не генерируют исключения ввода-вывода, хотя некоторые из его конструкторов могут. Клиент может узнать о возникновении ошибок, вызвав 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 |
Добавляет указанный символ в этот поток вывода. |
PrintWriter |
append |
Добавляет указанную последовательность символов в этот поток вывода. |
PrintWriter |
append |
Добавляет подпоследовательность указанной последовательности символов в этот поток вывода. |
boolean |
checkError() |
Очищает поток, если он не закрыт, и проверяет состояние ошибки. |
protected void |
clearError() |
Очищает состояние ошибки этого потока. |
void |
close() |
Закрывает поток и освобождает все системные ресурсы, связанные с ним. |
void |
flush() |
Очищает поток. |
PrintWriter |
format |
Записывает отформатированную строку в этот поток вывода с использованием указанной строки формата и аргументов. |
PrintWriter |
format |
Записывает отформатированную строку в этот поток вывода с использованием указанной строки формата и аргументов. |
void |
print |
Печатает логическое значение. |
void |
print |
Печатает символ. |
void |
print |
Печатает массив символов. |
void |
print |
Печатает число с двойной точностью. |
void |
print |
Печатает число с плавающей точкой. |
void |
print |
Печатает целое число. |
void |
print |
Печатает длинное целое число. |
void |
print |
Печатает объект. |
void |
print |
Печатает строку. |
PrintWriter |
printf |
Удобный метод для записи отформатированной строки в этот поток вывода с использованием указанной строки формата и аргументов. |
PrintWriter |
printf |
Удобный метод для записи отформатированной строки в этот поток вывода с использованием указанной строки формата и аргументов. |
void |
println() |
Завершает текущую строку, записав строку разделителя строк. |
void |
println |
Печатает логическое значение и затем завершает строку. |
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.- Since:
- 1.2
Подробное описание конструкторов
PrintWriter
public PrintWriter(Writer out)
- Parameters:
-
out- Поток символьного вывода
PrintWriter
public PrintWriter(Writer out, boolean autoFlush)
- Parameters:
-
out- Поток символьного вывода -
autoFlush- Логическое значение; если true, методыprintln,printfилиformatочистят буфер вывода
PrintWriter
public PrintWriter(OutputStream out)
out является PrintStream, кодировку, используемую потоком вывода.- Parameters:
-
out- Поток вывода - See Also:
PrintWriter
public PrintWriter(OutputStream out, boolean autoFlush)
out является PrintStream, кодировку, используемую потоком вывода.- Parameters:
-
out- Поток вывода -
autoFlush- Логическое значение; если true, методыprintln,printfилиformatочистят буфер вывода - See Also:
PrintWriter
public PrintWriter(OutputStream out, boolean autoFlush, Charset charset)
- Parameters:
-
out- Поток вывода -
autoFlush- Логическое значение; если true, методыprintln,printfилиformatочистят буфер вывода -
charset- кодировка - Since:
- 10
PrintWriter
public PrintWriter(String fileName) throws FileNotFoundException
OutputStreamWriter, который будет кодировать символы, используя кодировку по умолчанию для этой инстанции Java виртуальной машины.- Parameters:
-
fileName- Имя файла, используемого в качестве пункта назначения этого пишущего объекта. Если файл существует, он будет обнулен до нулевого размера; в противном случае будет создан новый файл. Вывод будет записываться в файл и будет буферизован. - Throws:
-
FileNotFoundException- Если заданная строка не обозначает существующий, доступный для записи обычный файл, и новый обычный файл с таким именем не может быть создан, или если произошла другая ошибка при открытии или создании файла - Since:
- 1.5
- See Also:
PrintWriter
public PrintWriter(String fileName, String csn) throws FileNotFoundException, UnsupportedEncodingException
OutputStreamWriter, который будет кодировать символы, используя предоставленную кодировку.- Parameters:
-
fileName- Имя файла, используемого в качестве пункта назначения этого пишущего объекта. Если файл существует, он будет обнулен до нулевого размера; в противном случае будет создан новый файл. Вывод будет записываться в файл и будет буферизован. -
csn- Имя поддерживаемой кодировки - Throws:
-
FileNotFoundException- Если заданная строка не обозначает существующий, доступный для записи обычный файл, и новый обычный файл с таким именем не может быть создан, или если произошла другая ошибка при открытии или создании файла -
UnsupportedEncodingException- Если указанная кодировка не поддерживается - Since:
- 1.5
PrintWriter
public PrintWriter(String fileName, Charset charset) throws IOException
OutputStreamWriter, который будет кодировать символы, используя предоставленную кодировку.- Parameters:
-
fileName- Имя файла, используемого в качестве пункта назначения этого пишущего объекта. Если файл существует, он будет обнулен до нулевого размера; в противном случае будет создан новый файл. Вывод будет записываться в файл и будет буферизован. -
charset- кодировка - Throws:
-
IOException- если произошла ошибка ввода-вывода при открытии или создании файла - Since:
- 10
PrintWriter
public PrintWriter(File file) throws FileNotFoundException
OutputStreamWriter, который будет кодировать символы, используя кодировку по умолчанию для этой инстанции Java виртуальной машины.- Parameters:
-
file- Файл, используемый в качестве пункта назначения этого пишущего объекта. Если файл существует, он будет обнулен до нулевого размера; в противном случае будет создан новый файл. Вывод будет записываться в файл и будет буферизован. - Throws:
-
FileNotFoundException- Если данный объект файла не обозначает существующий, доступный для записи обычный файл, и новый обычный файл с таким именем не может быть создан, или если произошла другая ошибка при открытии или создании файла - Since:
- 1.5
- See Also:
PrintWriter
public PrintWriter(File file, String csn) throws FileNotFoundException, UnsupportedEncodingException
OutputStreamWriter, который будет кодировать символы, используя предоставленную кодировку.- Parameters:
-
file- Файл, используемый в качестве пункта назначения этого пишущего объекта. Если файл существует, он будет обнулен до нулевого размера; в противном случае будет создан новый файл. Вывод будет записываться в файл и будет буферизован. -
csn- Имя поддерживаемой кодировки - Throws:
-
FileNotFoundException- Если данный объект файла не обозначает существующий, доступный для записи обычный файл, и новый обычный файл с таким именем не может быть создан, или если произошла другая ошибка при открытии или создании файла -
UnsupportedEncodingException- Если указанная кодировка не поддерживается - Since:
- 1.5
PrintWriter
public PrintWriter(File file, Charset charset) throws IOException
OutputStreamWriter, который будет кодировать символы, используя предоставленную кодировку.- Parameters:
-
file- Файл, используемый в качестве пункта назначения этого пишущего объекта. Если файл существует, он будет обнулен до нулевого размера; в противном случае будет создан новый файл. Вывод будет записываться в файл и будет буферизован. -
charset- кодировка - Throws:
-
IOException- если произошла ошибка ввода-вывода при открытии или создании файла - Since:
- 10
Подробное описание методов
очистка
закрыть
checkError
public boolean checkError()
- Возвращает:
-
trueтогда и только тогда, когда этот поток столкнулся сIOExceptionили методsetErrorбыл вызван
установитьОшибку
protected void setError()
true. Этот метод приведет к тому, что последующие вызовы checkError() будут возвращать true, пока не будет вызван clearError().
очиститьОшибку
protected void clearError()
Этот метод приведет к тому, что последующие вызовы checkError() будут возвращать false, пока другая операция записи не завершится ошибкой и не вызовет setError().
- С:
- 1.6
записать
записать
public void write(char[] buf, int off, int len)
- Указано в:
-
writeв классеWriter - Параметры:
-
buf- Массив символов -
off- Смещение, с которого следует начать запись символов -
len- Количество символов для записи - Исключения:
-
IndexOutOfBoundsException- Если значения параметровoffиlenвызывают соответствующий метод базовогоWriterсбросIndexOutOfBoundsException
записать
записать
public void write(String s, int off, int len)
- Переопределяет:
-
writeв классеWriter - Параметры:
-
s- Строка -
off- Смещение, с которого следует начать запись символов -
len- Количество символов для записи - Исключения:
-
IndexOutOfBoundsException- Если значения параметровoffиlenвызывают соответствующий метод базовогоWriterсбросIndexOutOfBoundsException
записать
вывести
public void print(boolean b)
String.valueOf(boolean), преобразуется в байты в соответствии с кодировкой по умолчанию, и эти байты записываются точно так же, как и в методе write(int).- Параметры:
-
b- Значениеboolean, подлежащее выводу - См. также:
вывести
public void print(char c)
write(int).- Параметры:
-
c- Символ, подлежащий выводу - См. также:
вывести
public void print(int i)
String.valueOf(int), преобразуется в байты в соответствии с кодировкой по умолчанию, и эти байты записываются точно так же, как и в методе write(int).- Параметры:
-
i- Целое число, подлежащее выводу - См. также:
вывести
public void print(long l)
String.valueOf(long), преобразуется в байты в соответствии с кодировкой по умолчанию, и эти байты записываются точно так же, как и в методе write(int).- Параметры:
-
l- Длинное целое число, подлежащее выводу - См. также:
вывести
public void print(float f)
String.valueOf(float), преобразуется в байты в соответствии с кодировкой по умолчанию, и эти байты записываются точно так же, как и в методе write(int).- Параметры:
-
f- Число с плавающей точкой, подлежащее выводу - См. также:
вывести
public void print(double d)
String.valueOf(double), преобразуется в байты в соответствии с кодировкой по умолчанию, и эти байты записываются точно так же, как и в методе write(int).- Параметры:
-
d- Число с двойной точностью, подлежащее выводу - См. также:
вывести
public void print(char[] s)
write(int).- Параметры:
-
s- Массив символов, подлежащий выводу - Исключения:
-
NullPointerException- Еслиsявляетсяnull - См. также:
вывести
public void print(String s)
null, то выводится строка "null". В противном случае символы строки преобразуются в байты в соответствии с кодировкой по умолчанию, и эти байты записываются точно так же, как и в методе write(int).- Параметры:
-
s- Строка, подлежащая выводу - См. также:
Вывод
public void print(Object obj)
String.valueOf(Object), преобразуется в байты в соответствии с кодировкой по умолчанию, и эти байты записываются точно так же, как в методе write(int).- Параметры:
-
obj- ВыводимыйObject - См. также:
println
public void println()
System.lineSeparator() и не обязательно представляет собой один символ новой строки ('\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- Массив выводимых значенийchar
println
public void println(String x)
print(String), а затем println().- Параметры:
-
x- Выводимое значениеString
println
public void println(Object x)
print(String) и затем println().- Параметры:
-
x- ВыводимыйObject.
printf
public PrintWriter printf(String format, Object... args)
Вызов этого метода вида out.printf(format, args) ведет себя точно так же, как вызов
out.format(format, args)
- Параметры:
-
format- Строка формата, как описано в Синтаксисе строк формата. -
args- Аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, лишние аргументы игнорируются. Количество аргументов переменное и может быть нулевым. Максимальное количество аргументов ограничено максимальным размером массива Java, как определено в Спецификации виртуальной машины Java. Поведение с аргументомnullзависит от преобразования. - Возвращает:
- Этот писатель
- Исключения:
-
IllegalFormatException- Если строка формата содержит неверный синтаксис, спецификатор формата несовместим с заданными аргументами, недостаточно аргументов для заданной строки формата или другие неверные условия. Для описания всех возможных ошибок форматирования см. раздел Подробное описание спецификации класса форматировщик. -
NullPointerException- Еслиformatnull - С тех пор:
- 1.5
printf
public PrintWriter printf(Locale l, String format, Object... args)
Вызов этого метода вида out.printf(l, format, args) ведет себя точно так же, как вызов
out.format(l, format, args)
- Параметры:
-
l- Язык для применения при форматировании. Еслиlnull, то никакая локализация не применяется. -
format- Строка формата, как описано в Синтаксисе строк формата. -
args- Аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, лишние аргументы игнорируются. Количество аргументов переменное и может быть нулевым. Максимальное количество аргументов ограничено максимальным размером массива Java, как определено в Спецификации виртуальной машины Java. Поведение с аргументомnullзависит от преобразования. - Возвращает:
- Этот писатель
- Исключения:
-
IllegalFormatException- Если строка формата содержит неверный синтаксис, спецификатор формата несовместим с заданными аргументами, недостаточно аргументов для заданной строки формата или другие неверные условия. Для описания всех возможных ошибок форматирования см. раздел Подробное описание спецификации класса форматировщик. -
NullPointerException- Еслиformatnull - С тех пор:
- 1.5
format
public PrintWriter format(String format, Object... args)
Используемый язык всегда возвращается методом Locale.getDefault(), независимо от предыдущих вызовов других методов форматирования для этого объекта.
- Параметры:
-
format- Строка формата, как описано в Синтаксисе строк формата. -
args- Аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, лишние аргументы игнорируются. Количество аргументов переменное и может быть нулевым. Максимальное количество аргументов ограничено максимальным размером массива Java, как определено в Спецификации виртуальной машины Java. Поведение с аргументомnullзависит от преобразования. - Возвращает:
- Этот писатель
- Исключения:
-
IllegalFormatException- Если строка формата содержит неверный синтаксис, спецификатор формата несовместим с заданными аргументами, недостаточно аргументов для заданной строки формата или другие неверные условия. Для описания всех возможных ошибок форматирования см. раздел Подробное описание спецификации класса Formatter. -
NullPointerException- Еслиformatnull - С тех пор:
- 1.5
форматировать
public PrintWriter format(Locale l, String format, Object... args)
- Параметры:
-
l- регион для применения во время форматирования. Еслиlявляетсяnull, то никакая локализация не применяется. -
format- Строка формата, как описано в синтаксисе строк формата. -
args- Аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, лишние аргументы игнорируются. Количество аргументов переменное и может быть нулевым. Максимальное количество аргументов ограничено максимальным размером массива Java, как определено в Спецификации виртуальной машины Java. Поведение сnullаргументом зависит от преобразования. - Возвращает:
- Этот поток
- Исключения:
-
IllegalFormatException- Если строка формата содержит неверный синтаксис, спецификатор формата несовместим с заданными аргументами, недостаточно аргументов для строки формата или другие недопустимые условия. Для спецификации всех возможных ошибок форматирования см. раздел Подробности спецификации класса форматировщика. -
NullPointerException- Еслиformatявляетсяnull - С:
- 1.5
добавить
public PrintWriter append(CharSequence csq)
Вызов этого метода в форме out.append(csq), когда csq не является null, ведет себя точно так же, как вызов
out.write(csq.toString())
В зависимости от спецификации toString для последовательности символов csq, вся последовательность может быть не добавлена. Например, вызов метода toString буфера символов вернёт подпоследовательность, содержимое которой зависит от позиции и ограничения буфера.
- Определено в:
-
appendв интерфейсеAppendable - Переопределяет:
-
appendв классеWriter - Параметры:
-
csq- Последовательность символов для добавления. Еслиcsqявляетсяnull, то в этот поток добавляются четыре символа"null". - Возвращает:
- Этот поток
- С:
- 1.5
добавить
public PrintWriter append(CharSequence csq, int start, int end)
Вызов этого метода в форме out.append(csq, start, end), когда csq не является null, ведет себя точно так же, как вызов
out.write(csq.subSequence(start, end).toString())
- Определено в:
-
appendв интерфейсеAppendable - Переопределяет:
-
appendв классеWriter - Параметры:
-
csq- Последовательность символов, из которой будет добавлена подпоследовательность. Еслиcsqявляетсяnull, то символы будут добавлены так, как будтоcsqсодержало четыре символа"null". -
start- Индекс первого символа в подпоследовательности -
end- Индекс символа, следующего за последним символом в подпоследовательности - Возвращает:
- Этот поток
- Исключения:
-
IndexOutOfBoundsException- Еслиstartилиendотрицательные,startбольшеendилиendбольшеcsq.length() - С:
- 1.5
добавить
public PrintWriter append(char c)
Вызов этого метода в форме out.append(c) ведет себя точно так же, как вызов
out.write(c)
- Определено в:
-
appendв интерфейсеAppendable - Переопределяет:
-
appendв классеWriter - Параметры:
-
c- 16-битный символ для добавления - Возвращает:
- Этот поток
- С:
- 1.5
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/io/PrintWriter.html