Spec-Zone.ru › OpenJDK 8

Класс PrintWriter

  • java.lang.Object
    • java.io.Writer
      • java.io.PrintWriter
Все реализуемые интерфейсы:
Closeable, Flushable, Appendable, AutoCloseable

public class PrintWriter
extends Writer

Печатает отформатированные представления объектов в потоке текстового вывода. Этот класс реализует все print методы, которые есть в PrintStream. Он не содержит методов для записи байтов без кодирования, для чего следует использовать некодированные потоки байтов.

В отличие от класса PrintStream, если автоматическое сброс включен, он будет выполнен только при вызове одного из println, printf, или format методов, а не каждый раз, когда генерируется символ новой строки. Эти методы используют собственную нотацию разделителя строк платформы, а не символ новой строки.

Методы в этом классе никогда не генерируют исключения I/O, хотя некоторые из его конструкторов могут. Клиент может узнать о возникновении ошибок, вызвав checkError().

С момента:
JDK1.1

Поля

Модификатор и тип Поле и описание
protected Writer out

Основной поток символьного вывода этого PrintWriter.

Поля, унаследованные от класса java.io.Writer

lock

Краткое описание конструкторов

Конструктор и описание
PrintWriter(File file)

Создаёт новый PrintWriter без автоматической очистки строки, с указанным файлом.

PrintWriter(File file, String csn)

Создаёт новый PrintWriter без автоматической очистки строки, с указанным файлом и кодировкой.

PrintWriter(OutputStream out)

Создаёт новый PrintWriter без автоматической очистки строки, из существующего OutputStream.

PrintWriter(OutputStream out, boolean autoFlush)

Создаёт новый PrintWriter из существующего OutputStream.

PrintWriter(String fileName)

Создаёт новый PrintWriter без автоматической очистки строки, с указанным именем файла.

PrintWriter(String fileName, String csn)

Создаёт новый PrintWriter без автоматической очистки строки, с указанным именем файла и кодировкой.

PrintWriter(Writer out)

Создаёт новый PrintWriter без автоматической очистки строки.

PrintWriter(Writer out, boolean autoFlush)

Создаёт новый PrintWriter.

Краткое описание методов

Модификатор и тип Метод и описание
PrintWriter append(char c)

Добавляет указанный символ в этот поток.

PrintWriter append(CharSequence csq)

Добавляет указанную последовательность символов в этот поток.

PrintWriter append(CharSequence csq, int start, int end)

Добавляет подпоследовательность указанной последовательности символов в этот поток.

boolean checkError()

Очищает поток, если он не закрыт, и проверяет состояние ошибки.

protected void clearError()

Очищает состояние ошибки этого потока.

void close()

Закрывает поток и освобождает все системные ресурсы, связанные с ним.

void flush()

Очищает поток.

PrintWriter format(Locale l, String format, Object... args)

Записывает отформатированную строку в этот поток, используя указанную строку формата и аргументы.

PrintWriter format(String format, Object... args)

Записывает отформатированную строку в этот поток, используя указанную строку формата и аргументы.

void print(boolean b)

Выводит значение булевого типа.

void print(char c)

Выводит символ.

void print(char[] s)

Выводит массив символов.

void print(double d)

Выводит число с двойной точностью.

void print(float f)

Выводит число с плавающей точкой.

void print(int i)

Выводит целое число.

void print(long l)

Выводит длинное целое число.

void print(Object obj)

Выводит объект.

void print(String s)

Выводит строку.

PrintWriter printf(Locale l, String format, Object... args)

Удобный метод для записи отформатированной строки в этот поток с использованием указанной строки формата и аргументов.

PrintWriter printf(String format, Object... args)

Удобный метод для записи отформатированной строки в этот поток с использованием указанной строки формата и аргументов.

void println()

Заканчивает текущую строку, записав строку разделителя строк.

void println(boolean x)

Выводит значение булевого типа и затем заканчивает строку.

void println(char x)

Выводит символ и затем заканчивает строку.

void println(char[] x)

Выводит массив символов и затем заканчивает строку.

void println(double x)

Выводит число с двойной точностью и затем заканчивает строку.

void println(float x)

Выводит число с плавающей точкой и затем заканчивает строку.

void println(int x)

Выводит целое число и затем заканчивает строку.

void println(long x)

Выводит длинное целое число и затем заканчивает строку.

void println(Object x)

Выводит объект и затем заканчивает строку.

void println(String x)

Выводит строку и затем заканчивает строку.

protected void setError()

Указывает, что произошла ошибка.

void write(char[] buf)

Записывает массив символов.

void write(char[] buf, int off, int len)

Записывает часть массива символов.

void write(int c)

Записывает один символ.

void write(String s)

Записывает строку.

void write(String s, int off, int len)

Записывает часть строки.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Поля

out

protected Writer out

Базовый поток символьного вывода этого PrintWriter.

Since:
1.2

Конструкторы

PrintWriter

public PrintWriter(Writer out)

Создаёт новый PrintWriter без автоматической очистки строки.

Параметры:
out - Поток символьного вывода

PrintWriter

public PrintWriter(Writer out,
                   boolean autoFlush)

Создаёт новый PrintWriter.

Параметры:
out - Поток символьного вывода
autoFlush - Булево значение; если true, методы println, printf, или format будут очищать буфер вывода

PrintWriter

public PrintWriter(OutputStream out)

Создаёт новый PrintWriter без автоматической очистки строки из существующего OutputStream. Этот удобный конструктор создаёт необходимый промежуточный OutputStreamWriter, который будет преобразовывать символы в байты, используя кодировку символов по умолчанию.

Параметры:
out - Поток вывода
См. также:
OutputStreamWriter(java.io.OutputStream)

PrintWriter

public PrintWriter(OutputStream out,
                   boolean autoFlush)

Создаёт новый PrintWriter из существующего OutputStream. Этот удобный конструктор создаёт необходимый промежуточный OutputStreamWriter, который будет преобразовывать символы в байты, используя кодировку символов по умолчанию.

Параметры:
out - Поток вывода
autoFlush - Булево значение; если true, методы println, printf, или format будут очищать буфер вывода
См. также:
OutputStreamWriter(java.io.OutputStream)

PrintWriter

public PrintWriter(String fileName)
            throws FileNotFoundException

Создаёт новый PrintWriter без автоматической очистки строки с указанным именем файла. Этот удобный конструктор создаёт необходимый промежуточный OutputStreamWriter, который будет кодировать символы, используя кодировку по умолчанию для данной инстанции виртуальной машины Java.

Параметры:
fileName - Имя файла, используемого в качестве назначения для этого объекта записи. Если файл существует, он будет обнулен до нулевого размера; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован.
Исключения:
FileNotFoundException - Если заданная строка не обозначает существующий, доступный для записи обычный файл, и новый обычный файл с таким именем не может быть создан, или если произошла какая-либо другая ошибка при открытии или создании файла
SecurityException - Если присутствует менеджер безопасности, и checkWrite(fileName) отказывается предоставить доступ для записи к файлу
Since:
1.5

PrintWriter

public PrintWriter(String fileName,
                   String csn)
            throws FileNotFoundException,
                   UnsupportedEncodingException

Создаёт новый PrintWriter без автоматической очистки строки с указанным именем файла и кодировкой. Этот удобный конструктор создаёт необходимый промежуточный OutputStreamWriter, который будет кодировать символы, используя предоставленную кодировку.

Параметры:
fileName - Имя файла, используемого в качестве назначения для этого объекта записи. Если файл существует, он будет обнулен до нулевого размера; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован.
csn - Название поддерживаемой кодировки
Исключения:
FileNotFoundException - Если заданная строка не обозначает существующий, доступный для записи обычный файл, и новый обычный файл с таким именем не может быть создан, или если произошла какая-либо другая ошибка при открытии или создании файла
SecurityException - Если присутствует менеджер безопасности, и checkWrite(fileName) отказывается предоставить доступ для записи к файлу
UnsupportedEncodingException - Если указанная кодировка не поддерживается
Since:
1.5

PrintWriter

public PrintWriter(File file)
            throws FileNotFoundException

Создаёт новый PrintWriter без автоматической очистки строки с указанным файлом. Этот удобный конструктор создаёт необходимый промежуточный OutputStreamWriter, который будет кодировать символы, используя кодировку по умолчанию для данной инстанции виртуальной машины Java.

Параметры:
file - Файл, используемый в качестве назначения для этого объекта записи. Если файл существует, он будет обнулен до нулевого размера; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован.
Исключения:
FileNotFoundException - Если заданный объект файла не обозначает существующий, доступный для записи обычный файл, и новый обычный файл с таким именем не может быть создан, или если произошла какая-либо другая ошибка при открытии или создании файла
SecurityException - Если присутствует менеджер безопасности, и checkWrite(file.getPath()) отказывается предоставить доступ для записи к файлу
Since:
1.5

PrintWriter

public PrintWriter(File file,
                   String csn)
            throws FileNotFoundException,
                   UnsupportedEncodingException

Создаёт новый PrintWriter без автоматической очистки строки с указанным файлом и кодировкой. Этот удобный конструктор создаёт необходимый промежуточный OutputStreamWriter, который будет кодировать символы, используя предоставленную кодировку.

Параметры:
file - Файл, используемый в качестве назначения для этого объекта записи. Если файл существует, он будет обнулен до нулевого размера; в противном случае будет создан новый файл. Вывод будет записан в файл и буферизован.
csn - Название поддерживаемой кодировки
Исключения:
FileNotFoundException - Если заданный объект файла не обозначает существующий, доступный для записи обычный файл, и новый обычный файл с таким именем не может быть создан, или если произошла какая-либо другая ошибка при открытии или создании файла
SecurityException - Если присутствует менеджер безопасности, и checkWrite(file.getPath()) отказывается предоставить доступ для записи к файлу
UnsupportedEncodingException - Если указанная кодировка не поддерживается
Since:
1.5

Методы

flush

public void flush()

Очищает поток.

Определено в:
flush в интерфейсе Flushable
Определено в:
flush в классе Writer
См. также:
checkError()

close

public void close()

Закрывает поток и освобождает любые системные ресурсы, связанные с ним. Закрытие ранее закрытого потока не имеет эффекта.

Определено в:
close в интерфейсе Closeable
Определено в:
close в интерфейсе AutoCloseable
Определено в:
close в классе Writer
См. также:
checkError()

checkError

public boolean checkError()

Очищает поток, если он не закрыт, и проверяет его состояние ошибки.

Возвращает:
true если поток вывода столкнулся с ошибкой, либо в базовом потоке вывода, либо во время преобразования формата.

setError

protected void setError()

Указывает, что произошла ошибка.

Этот метод заставит последующие вызовы checkError() возвращать true до тех пор, пока не будет вызван clearError().

clearError

protected void clearError()

Очищает состояние ошибки этого потока.

Этот метод заставит последующие вызовы checkError() возвращать false до тех пор, пока другая операция записи не завершится с ошибкой и не вызовет setError().

Since:
1.6

write

public void write(int c)

Записывает отдельный символ.

Переопределяет:
write в классе Writer
Параметры:
c - int, определяющий символ, который будет записан.

write

public void write(char[] buf,
                  int off,
                  int len)

Записывает часть массива символов.

Определено в:
write в классе Writer
Параметры:
buf - Массив символов
off - Смещение, с которого начать запись символов
len - Количество символов для записи

write

public void write(char[] buf)

Записывает массив символов. Этот метод не может быть унаследован от класса Writer, потому что он должен подавлять исключения I/O.

Переопределяет:
write в классе Writer
Параметры:
buf - Массив символов для записи

write

public void write(String s,
                  int off,
                  int len)

Записывает часть строки.

Переопределяет:
write в классе Writer
Параметры:
s - Строка
off - Смещение, с которого начать запись символов
len - Количество символов для записи

write

public void write(String s)

Записывает строку. Этот метод не может быть унаследован от класса Writer, потому что он должен подавлять исключения I/O.

Переопределяет:
write в классе Writer
Параметры:
s - Строка для записи

print

public void print(boolean b)

Выводит булево значение. Строка, созданная String.valueOf(boolean), преобразуется в байты в соответствии с кодировкой символов по умолчанию платформы, и эти байты записываются точно так же, как и методом write(int).

Параметры:
b - Булево значение для вывода

print

public void print(char c)

Печатает символ. Символ преобразуется в один или несколько байтов в соответствии с кодировкой символов по умолчанию платформы, а эти байты записываются точно так же, как и в методе write(int).

Параметры:
c - Печатаемый char

print

public void print(int i)

Печатает целое число. Строка, полученная с помощью String.valueOf(int), преобразуется в байты в соответствии с кодировкой символов по умолчанию платформы, а эти байты записываются точно так же, как и в методе write(int).

Параметры:
i - Печатаемое int
См. также:
Integer.toString(int)

print

public void print(long l)

Печатает длинное целое число. Строка, полученная с помощью String.valueOf(long), преобразуется в байты в соответствии с кодировкой символов по умолчанию платформы, а эти байты записываются точно так же, как и в методе write(int).

Параметры:
l - Печатаемое long
См. также:
Long.toString(long)

print

public void print(float f)

Печатает число с плавающей точкой. Строка, полученная с помощью String.valueOf(float), преобразуется в байты в соответствии с кодировкой символов по умолчанию платформы, а эти байты записываются точно так же, как и в методе write(int).

Параметры:
f - Печатаемое float
См. также:
Float.toString(float)

print

public void print(double d)

Печатает число с двойной точностью с плавающей точкой. Строка, полученная с помощью String.valueOf(double), преобразуется в байты в соответствии с кодировкой символов по умолчанию платформы, а эти байты записываются точно так же, как и в методе write(int).

Параметры:
d - Печатаемое double
См. также:
Double.toString(double)

print

public void print(char[] s)

Печатает массив символов. Символы преобразуются в байты в соответствии с кодировкой символов по умолчанию платформы, а эти байты записываются точно так же, как и в методе write(int).

Параметры:
s - Массив символов для печати
Исключения:
NullPointerException - Если s равен null

print

public void print(String s)

Печатает строку. Если аргумент равен null, то печатается строка "null". В противном случае символы строки преобразуются в байты в соответствии с кодировкой символов по умолчанию платформы, а эти байты записываются точно так же, как и в методе write(int).

Параметры:
s - Печатаемая String

print

public void print(Object obj)

Печатает объект. Строка, полученная с помощью метода String.valueOf(Object), преобразуется в байты в соответствии с кодировкой символов по умолчанию платформы, а эти байты записываются точно так же, как и в методе write(int).

Параметры:
obj - Печатаемый Object
См. также:
Object.toString()

println

public void println()

Завершает текущую строку, написав строку разделителя строк. Строка разделителя строк определяется системной переменной line.separator, и не обязательно является единственным символом новой строки ('\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)

Печатает объект и затем завершает строку. Сначала метод вызывает String.valueOf(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) ведет себя точно так же, как вызов

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, 2020, 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API