Spec-Zone.ru › OpenJDK 21

Класс Writer

java.lang.Object
java.io.Writer
Все реализованные интерфейсы:
Closeable, Flushable, Appendable, AutoCloseable
Прямые известные подклассы:
BufferedWriter, CharArrayWriter, FilterWriter, OutputStreamWriter, PipedWriter, PrintWriter, StringWriter
public abstract class Writer extends Object implements Appendable, Closeable, Flushable
Абстрактный класс для записи в потоки символов. Подклассы должны реализовывать только методы write(char[], int, int), flush() и close(). Однако большинство подклассов переопределяют некоторые методы, определенные здесь, для повышения эффективности, добавления дополнительных функций или того и другого.
С тех пор:
1.1
См. также:
  • BufferedWriter
  • CharArrayWriter
  • FilterWriter
  • OutputStreamWriter
  • FileWriter
  • PipedWriter
  • PrintWriter
  • StringWriter
  • Reader

Краткое описание полей

Модификатор и тип Поле Описание
protected Object lock
Объект, используемый для синхронизации операций с этим потоком.

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

Writer()
Writer(Object lock)
Модификатор Конструктор Описание
protected
Создает новый поток записи символов, критические секции которого будут синхронизированы на самом потоке записи.
protected
Создает новый поток записи символов, критические секции которого будут синхронизированы на заданном объекте.

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

Модификатор и тип Метод Описание
Writer append(char c)
Добавляет указанный символ в этот поток записи.
Writer append(CharSequence csq)
Добавляет указанную последовательность символов в этот поток записи.
Writer append(CharSequence csq, int start, int end)
Добавляет подпоследовательность указанной последовательности символов в этот поток записи.
abstract void close()
Закрывает поток, сначала сбросив его.
abstract void flush()
Сбрасывает поток.
static Writer nullWriter()
Возвращает новый Writer, который отбрасывает все символы.
void write(char[] cbuf)
Записывает массив символов.
abstract void write(char[] cbuf, int off, int len)
Записывает часть массива символов.
void write(int c)
Записывает один символ.
void write(String str)
Записывает строку.
void write(String str, int off, int len)
Записывает часть строки.

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

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

Подробное описание полей

lock

protected Object lock
Объект, используемый для синхронизации операций с этим потоком. Для повышения эффективности объект потока символов может использовать для защиты критических участков объект, отличный от самого себя. Поэтому подкласс должен использовать объект в этом поле, а не this или синхронизированный метод.

Подробное описание конструкторов

Writer

protected Writer()
Создаёт новый писатель потока символов, чьи критические участки будут синхронизироваться на самом писателе.

Writer

protected Writer(Object lock)
Создаёт новый писатель потока символов, чьи критические участки будут синхронизироваться на заданном объекте.
Параметры:
lock - Объект для синхронизации

Подробное описание методов

nullWriter

public static Writer nullWriter()
Возвращает новый Writer, который игнорирует все символы. Возвращаемый поток изначально открыт. Поток закрывается, вызывая метод close(). Последующие вызовы close() не имеют эффекта.

Пока поток открыт, методы append(char), append(CharSequence), append(CharSequence, int, int), flush(), write(int), write(char[]), и write(char[], int, int) ничего не делают. После закрытия потока все эти методы выбрасывают исключение IOException.

Объект object, используемый для синхронизации операций с возвращаемым Writer не указан.

Возвращает:
новый Writer который игнорирует все символы
С:
11

write

public void write(int c) throws IOException
Записывает один символ. Символ, подлежащий записи, содержится в 16 младших битах данного целочисленного значения; 16 старших битов игнорируются.

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

Параметры:
c - целое число, определяющее символ для записи
Исключения:
IOException - Если произошла ошибка ввода/вывода

write

public void write(char[] cbuf) throws IOException
Записывает массив символов.
Параметры:
cbuf - Массив символов для записи
Исключения:
IOException - Если произошла ошибка ввода/вывода

write

public abstract void write(char[] cbuf, int off, int len) throws IOException
Записывает часть массива символов.
Параметры:
cbuf - Массив символов
off - Смещение, с которого начать запись символов
len - Количество символов для записи
Исключения:
IndexOutOfBoundsException - Реализации должны выбросить это исключение, если off отрицательное, или len отрицательное, или off + len отрицательное или больше длины данного массива
IOException - Если произошла ошибка ввода/вывода

write

public void write(String str) throws IOException
Записывает строку.
Параметры:
str - Строка для записи
Исключения:
IOException - Если произошла ошибка ввода/вывода

write

public void write(String str, int off, int len) throws IOException
Записывает часть строки.
Требования к реализации:
Реализация в этом классе выбрасывает исключение IndexOutOfBoundsException для указанных условий; переопределяющие методы могут выбрать другое поведение.
Параметры:
str - Строка
off - Смещение, с которого начать запись символов
len - Количество символов для записи
Исключения:
IndexOutOfBoundsException - Реализации должны выбросить это исключение, если off отрицательное, или len отрицательное, или off + len отрицательное или больше длины данной строки
IOException - Если произошла ошибка ввода/вывода

append

public Writer append(CharSequence csq) throws IOException
Добавляет указанную последовательность символов к этому писателю.

Вызов этого метода в форме out.append(csq) ведет себя точно так же, как вызов

    out.write(csq.toString())

В зависимости от спецификации toString для последовательности символов csq, вся последовательность может не быть добавлена. Например, вызов метода toString буфера символов вернёт подпоследовательность, содержание которой зависит от позиции и предела буфера.

Определено в:
append в интерфейсе Appendable
Параметры:
csq - Последовательность символов для добавления. Если csq равно null, то в этот писатель добавляются четыре символа "null".
Возвращает:
Этот писатель
Исключения:
IOException - Если произошла ошибка ввода/вывода
С:
1.5

append

public Writer append(CharSequence csq, int start, int end) throws IOException
Добавляет подпоследовательность указанной последовательности символов к этому писателю. Appendable.

Вызов этого метода в форме out.append(csq, start, end) когда csq не равно null ведет себя точно так же, как вызов

    out.write(csq.subSequence(start, end).toString())
Определено в:
append в интерфейсе Appendable
Параметры:
csq - Последовательность символов, из которой будет добавлена подпоследовательность. Если csq равно null, то символы будут добавлены так, как если бы csq содержал четыре символа "null".
start - Индекс первого символа в подпоследовательности
end - Индекс символа, следующего за последним символом в подпоследовательности
Возвращает:
Этот писатель
Исключения:
IndexOutOfBoundsException - Если start или end отрицательны, start больше end, или end больше csq.length()
IOException - Если произошла ошибка ввода/вывода
С:
1.5

append

public Writer append(char c) throws IOException
Добавляет указанный символ в этот писатель.

Вызов этого метода в форме out.append(c) ведет себя точно так же, как вызов

    out.write(c)
Определено в:
append в интерфейсе Appendable
Параметры:
c - Символ 16 бит для добавления
Возвращает:
Этот писатель
Исключения:
IOException - Если произошла ошибка ввода/вывода
С:
1.5

flush

public abstract void flush() throws IOException
Очищает поток. Если поток сохранил любые символы из различных методов write() в буфере, запишите их немедленно в их предполагаемое место назначения. Затем, если это место назначения - другой поток символов или байтов, очистите его. Таким образом, один вызов flush() очистит все буферы в цепочке писателей и потоков вывода.

Если предполагаемое место назначения этого потока - абстракция, предоставляемая ОС, например, файл, то сброс потока гарантирует только то, что байты, ранее записанные в поток, передаются ОС для записи; он не гарантирует, что они фактически будут записаны на физическое устройство, например, на жёсткий диск.

Определено в:
flush в интерфейсе Flushable
Исключения:
IOException - Если произошла ошибка ввода/вывода

close

public abstract void close() throws IOException
Закрывает поток, предварительно очищая его. После закрытия потока дальнейшие вызовы write() или flush() приведут к сбросу исключения IOException. Закрытие ранее закрытого потока не имеет эффекта.
Определено в:
close в интерфейсе AutoCloseable
Определено в:
close в интерфейсе Closeable
Исключения:
IOException - Если произошла ошибка ввода/вывода

© 1993, 2023, 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/21/docs/api/java.base/java/io/Writer.html

Spec-Zone.ru

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