Класс 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() |
Указывает на возникновение ошибки. |
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)
- Parameters:
-
out- Потоковый объект вывода - See Also:
PrintWriter
public PrintWriter(OutputStream out, boolean autoFlush)
- 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- Если указанная строка не обозначает существующий, доступный для записи обычный файл и новый обычный файл с таким именем не может быть создан, или если произошла какая-либо другая ошибка при открытии или создании файла -
SecurityException- Если присутствует менеджер безопасности иcheckWrite(fileName)запрещает доступ для записи в файл - Since:
- 1.5
PrintWriter
public PrintWriter(String fileName, String csn) throws FileNotFoundException, UnsupportedEncodingException
OutputStreamWriter, который будет кодировать символы, используя предоставленную кодировку.- Parameters:
-
fileName- Имя файла, используемого в качестве пункта назначения для этого объекта записи. Если файл существует, он будет обнулен до нулевого размера; в противном случае будет создан новый файл. Вывод записывается в файл и буферизуется. -
csn- Имя поддерживаемой кодировки - Throws:
-
FileNotFoundException- Если указанная строка не обозначает существующий, доступный для записи обычный файл и новый обычный файл с таким именем не может быть создан, или если произошла какая-либо другая ошибка при открытии или создании файла -
SecurityException- Если присутствует менеджер безопасности иcheckWrite(fileName)запрещает доступ для записи в файл -
UnsupportedEncodingException- Если указанная кодировка не поддерживается - Since:
- 1.5
PrintWriter
public PrintWriter(String fileName, Charset charset) throws IOException
OutputStreamWriter, который будет кодировать символы, используя предоставленную кодировку.- Parameters:
-
fileName- Имя файла, используемого в качестве пункта назначения для этого объекта записи. Если файл существует, он будет обнулен до нулевого размера; в противном случае будет создан новый файл. Вывод записывается в файл и буферизуется. -
charset- Кодировка - Throws:
-
IOException- если произошла ошибка ввода-вывода при открытии или создании файла -
SecurityException- Если присутствует менеджер безопасности иcheckWrite(fileName)запрещает доступ для записи в файл - Since:
- 10
PrintWriter
public PrintWriter(File file) throws FileNotFoundException
OutputStreamWriter, который будет кодировать символы, используя кодировку по умолчанию для данной виртуальной машины Java.- Parameters:
-
file- Файл, используемый в качестве пункта назначения для этого объекта записи. Если файл существует, он будет обнулен до нулевого размера; в противном случае будет создан новый файл. Вывод записывается в файл и буферизуется. - Throws:
-
FileNotFoundException- Если указанный объект файла не обозначает существующий, доступный для записи обычный файл и новый обычный файл с таким именем не может быть создан, или если произошла какая-либо другая ошибка при открытии или создании файла -
SecurityException- Если присутствует менеджер безопасности иcheckWrite(file.getPath())запрещает доступ для записи в файл - Since:
- 1.5
PrintWriter
public PrintWriter(File file, String csn) throws FileNotFoundException, UnsupportedEncodingException
OutputStreamWriter, который будет кодировать символы, используя предоставленную кодировку.- Parameters:
-
file- Файл, используемый в качестве пункта назначения для этого объекта записи. Если файл существует, он будет обнулен до нулевого размера; в противном случае будет создан новый файл. Вывод записывается в файл и буферизуется. -
csn- Имя поддерживаемой кодировки - Throws:
-
FileNotFoundException- Если указанный объект файла не обозначает существующий, доступный для записи обычный файл и новый обычный файл с таким именем не может быть создан, или если произошла какая-либо другая ошибка при открытии или создании файла -
SecurityException- Если присутствует менеджер безопасности иcheckWrite(file.getPath())запрещает доступ для записи в файл -
UnsupportedEncodingException- Если указанная кодировка не поддерживается - Since:
- 1.5
PrintWriter
public PrintWriter(File file, Charset charset) throws IOException
OutputStreamWriter, который будет кодировать символы, используя предоставленную кодировку.- Parameters:
-
file- Файл, используемый в качестве пункта назначения для этого объекта записи. Если файл существует, он будет обнулен до нулевого размера; в противном случае будет создан новый файл. Вывод записывается в файл и буферизуется. -
charset- Кодировка - Throws:
-
IOException- если произошла ошибка ввода-вывода при открытии или создании файла -
SecurityException- Если присутствует менеджер безопасности иcheckWrite(file.getPath())запрещает доступ для записи в файл - Since:
- 10
Подробное описание методов
очистка
public void flush()
- Определяется:
-
flushв интерфейсеFlushable - Определяется:
-
flushв классеWriter - См. также:
закрыть
public void close()
- Определяется:
-
closeв интерфейсеAutoCloseable - Определяется:
-
closeв интерфейсеCloseable - Определяется:
-
closeв классеWriter - См. также:
проверитьОшибку
public boolean checkError()
- Возвращает:
-
trueесли в потоке печати возникла ошибка, либо в базовом потоке вывода, либо во время преобразования формата.
установитьОшибку
protected void setError()
Этот метод заставит последующие вызовы checkError() возвращать true до тех пор, пока не будет вызван clearError().
очиститьОшибку
protected void clearError()
Этот метод заставит последующие вызовы checkError() возвращать false до тех пор, пока другая операция записи не завершится ошибкой и не вызовет setError().
- С:
- 1.6
записать
public void write(int c)
- Переопределяет:
-
writeв классеWriter - Параметры:
-
c- целое число, определяющее символ для записи.
записать
public void write(char[] buf, int off, int len)
- Определяется:
-
writeв классеWriter - Параметры:
-
buf- Массив символов -
off- Смещение, с которого начинать запись символов -
len- Количество символов для записи - Исключения:
-
IndexOutOfBoundsException- Если значения параметровoffиlenвызывают соответствующий метод базовогоWriterбросить исключениеIndexOutOfBoundsException
записать
public void write(char[] buf)
- Переопределяет:
-
writeв классеWriter - Параметры:
-
buf- Массив символов для записи
записать
public void write(String s, int off, int len)
- Переопределяет:
-
writeв классеWriter - Параметры:
-
s- Строка -
off- Смещение, с которого начинать запись символов -
len- Количество символов для записи - Исключения:
-
IndexOutOfBoundsException- Если значения параметровoffиlenвызывают соответствующий метод базовогоWriterбросить исключениеIndexOutOfBoundsException
записать
public void write(String s)
- Переопределяет:
-
writeв классеWriter - Параметры:
-
s- Строка для записи
печать
public void print(boolean b)
String.valueOf(boolean), преобразуется в байты в соответствии с кодировкой символов по умолчанию платформы, и эти байты записываются точно так же, как в методе write(int).- Параметры:
-
b- Булевое значение для вывода
печать
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- Объект для вывода - См. также:
println
public void println()
System.lineSeparator() и не обязательно является одним символом новой строки ('\n').println
public void println(boolean x)
print(boolean), а затем println().- Параметры:
-
x- значение булевого типа для вывода
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- значение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- массив значенийcharдля вывода
println
public void println(String x)
print(String), а затем println().- Parameters:
-
x- значениеStringдля вывода
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- Еслиformatявляетсяnull - 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- Еслиformatявляетсяnull - Since:
- 1.5
format
public PrintWriter format(String format, Object... args)
Используемая локаль всегда та, которая возвращается методом Locale.getDefault(), независимо от предыдущих вызовов других методов форматирования для этого объекта.
- Parameters:
-
format- Строка формата, как описано в синтаксисе строки формата. -
args- Аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, лишние аргументы игнорируются. Количество аргументов переменное и может быть нулевым. Максимальное количество аргументов ограничено максимальным размером массива Java, определенным в Спецификации виртуальной машины Java. Поведение для аргументаnullзависит от преобразования. - Returns:
- Этот поток
- Throws:
-
IllegalFormatException- Если строка формата содержит неверный синтаксис, спецификатор формата несовместим с заданными аргументами, недостаточно аргументов для строки формата или другие недопустимые условия. Для описания всех возможных ошибок форматирования см. раздел Детали спецификации класса Formatter. -
NullPointerException- Еслиformatявляетсяnull - 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 буфера символов вернёт подпоследовательность, содержимое которой зависит от позиции и предела буфера.
- Определено в:
-
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, 2021, 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/17/docs/api/java.base/java/io/PrintWriter.html