Класс 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 |
Выводит объект Object и завершает строку. |
void |
println |
Выводит строку String и завершает строку. |
protected void |
setError() |
Устанавливает состояние ошибки потока в true. |
void |
write |
Записывает массив символов. |
void |
write |
Записывает часть массива символов. |
void |
write |
Записывает один символ. |
void |
write |
Записывает строку. |
void |
write |
Записывает часть строки. |
Методы, объявленные в классе Writer
nullWriter | Модификатор и тип | Метод | Описание |
|---|---|---|
static Writer |
nullWriter() |
Возвращает новый Writer, отбрасывающий все символы. |
Методы, объявленные в классе 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, либо до истечения заданного времени. |
Подробное описание полей
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— если строка формата содержит недопустимый синтаксис, спецификатор формата несовместим с заданными аргументами, для строки формата передано недостаточно аргументов или возникли другие недопустимые условия. Описание всех возможных ошибок форматирования см. в разделе Подробное описание спецификации класса форматтера. -
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.