Класс 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 |
Выводит целое число типа long. |
void |
print |
Выводит объект. |
void |
print |
Выводит строку. |
PrintWriter |
printf |
Вспомогательный метод для записи в этот поток записи форматированной строки с использованием указанной строки формата и аргументов. |
PrintWriter |
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 |
Записывает часть массива символов. |
void |
write |
Записывает один символ. |
void |
write |
Записывает строку. |
void |
write |
Записывает часть строки. |
Методы, объявленные в классе 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— если заданная строка не указывает на существующий доступный для записи обычный файл, и новый обычный файл с таким именем невозможно создать, либо если при открытии или создании файла возникает другая ошибка - Начиная с:
- 1.5
- См. также:
PrintWriter
public PrintWriter(String fileName, String csn) throws FileNotFoundException, UnsupportedEncodingException
OutputStreamWriter, который кодирует символы с использованием заданной кодировки.- Параметры:
-
fileName— имя файла, который будет использоваться в качестве назначения для этой записи. Если файл существует, его размер будет уменьшен до нуля; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован. -
csn— имя поддерживаемой кодировки - Исключения:
-
FileNotFoundException— если заданная строка не указывает на существующий доступный для записи обычный файл, и новый обычный файл с таким именем невозможно создать, либо если при открытии или создании файла возникает другая ошибка -
UnsupportedEncodingException— если указанная кодировка не поддерживается - Начиная с:
- 1.5
PrintWriter
public PrintWriter(String fileName, Charset charset) throws IOException
OutputStreamWriter, который кодирует символы с использованием заданной кодировки.- Параметры:
-
fileName— имя файла, который будет использоваться в качестве назначения для этой записи. Если файл существует, его размер будет уменьшен до нуля; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован. -
charset— кодировка - Исключения:
-
IOException— если при открытии или создании файла возникает ошибка ввода-вывода - Начиная с:
- 10
PrintWriter
public PrintWriter(File file) throws FileNotFoundException
OutputStreamWriter, который кодирует символы с использованием кодировки по умолчанию для данного экземпляра виртуальной машины Java.- Параметры:
-
file— файл, который будет использоваться в качестве назначения для этой записи. Если файл существует, его размер будет уменьшен до нуля; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован. - Исключения:
-
FileNotFoundException— если заданный объект файла не указывает на существующий доступный для записи обычный файл, и новый обычный файл с таким именем невозможно создать, либо если при открытии или создании файла возникает другая ошибка - Начиная с:
- 1.5
- См. также:
PrintWriter
public PrintWriter(File file, String csn) throws FileNotFoundException, UnsupportedEncodingException
OutputStreamWriter, который кодирует символы с использованием предоставленной кодировки.- Параметры:
-
file— файл, который будет использоваться в качестве назначения для этой записи. Если файл существует, его размер будет уменьшен до нуля; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован. -
csn— имя поддерживаемой кодировки - Исключения:
-
FileNotFoundException— если заданный объект файла не указывает на существующий доступный для записи обычный файл, и новый обычный файл с таким именем невозможно создать, либо если при открытии или создании файла возникает другая ошибка -
UnsupportedEncodingException— если указанная кодировка не поддерживается - Начиная с:
- 1.5
PrintWriter
public PrintWriter(File file, Charset charset) throws IOException
OutputStreamWriter, который кодирует символы с использованием предоставленной кодировки.- Параметры:
-
file— файл, который будет использоваться в качестве назначения для этой записи. Если файл существует, его размер будет уменьшен до нуля; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован. -
charset— кодировка - Исключения:
-
IOException— если при открытии или создании файла возникает ошибка ввода-вывода - Начиная с:
- 10
Подробное описание методов
flush
close
checkError
public boolean checkError()
- Возвращает:
-
trueтогда и только тогда, когда в этом потоке произошлаIOExceptionили был вызван методsetError
setError
protected void setError()
true. После вызова этого метода последующие вызовы checkError() будут возвращать true, пока не будет вызван clearError().
clearError
protected void clearError()
После вызова этого метода последующие вызовы checkError() будут возвращать false, пока не произойдет сбой другой операции записи и не будет вызван setError().
- Начиная с:
- 1.6
write
write
public void write(char[] buf, int off, int len)
- Определено в:
-
writeв классеWriter - Параметры:
-
buf— массив символов -
off— смещение, с которого начинается запись символов -
len— количество записываемых символов - Исключения:
-
IndexOutOfBoundsException— если значения параметровoffиlenприводят к тому, что соответствующий метод базовогоWriterвыбрасываетIndexOutOfBoundsException
write
write
public void write(String s, int off, int len)
- Переопределяет:
-
writeв классеWriter - Параметры:
-
s— строка -
off— смещение, с которого начинается запись символов -
len— количество записываемых символов - Исключения:
-
IndexOutOfBoundsException— если значения параметровoffиlenприводят к тому, что соответствующий метод базовогоWriterвыбрасываетIndexOutOfBoundsException
write
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()
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— если строка формата содержит недопустимый синтаксис, спецификатор формата несовместим с заданными аргументами, аргументов недостаточно для строки формата или имеются другие недопустимые условия. Описание всех возможных ошибок форматирования см. в разделе Подробности спецификации класса formatter. -
NullPointerException— еслиformatравноnull - Начиная с:
- 1.5
printf
public PrintWriter 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 PrintWriter format(String format, Object... args)
Всегда используется локаль, возвращаемая методом Locale.getDefault(), независимо от любых предыдущих вызовов других методов форматирования этого объекта.
- Параметры:
-
format— строка формата, описанная в разделе Синтаксис строки формата. -
args— аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, лишние аргументы игнорируются. Количество аргументов переменно и может быть равно нулю. Максимальное количество аргументов ограничено максимальной размерностью массива Java, определенной в Спецификации виртуальной машины Java. Поведение при аргументеnullзависит от преобразования. - Возвращает:
- Этот объект записи
- Исключения:
-
IllegalFormatException— если строка формата содержит недопустимый синтаксис, спецификатор формата несовместим с заданными аргументами, для строки формата задано недостаточно аргументов или возникли другие недопустимые условия. Описание всех возможных ошибок форматирования см. в разделе Подробности спецификации класса Formatter. -
NullPointerException— еслиformatравноnull - Начиная с версии:
- 1.5
format
public PrintWriter format(Locale l, String format, Object... args)
- Параметры:
-
l— локаль, используемая при форматировании. Еслиlравноnull, локализация не применяется. -
format— строка формата, описанная в разделе Синтаксис строки формата. -
args— аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, лишние аргументы игнорируются. Количество аргументов переменно и может быть равно нулю. Максимальное количество аргументов ограничено максимальной размерностью массива Java, определенной в Спецификации виртуальной машины Java. Поведение при аргументеnullзависит от преобразования. - Возвращает:
- Этот объект записи
- Исключения:
-
IllegalFormatException— если строка формата содержит недопустимый синтаксис, спецификатор формата несовместим с заданными аргументами, для строки формата задано недостаточно аргументов или возникли другие недопустимые условия. Описание всех возможных ошибок форматирования см. в разделе Подробности спецификации класса Formatter. -
NullPointerException— еслиformatравноnull - Начиная с версии:
- 1.5
append
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
append
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
append
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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/PrintWriter.html