Spec-Zone.ru › OpenJDK 8

Класс 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(). Однако большинство подклассов переопределяют некоторые методы, определённые здесь, чтобы обеспечить более высокую эффективность, дополнительную функциональность или оба.

С тех пор:
JDK1.1
См. также:
Writer, BufferedWriter, CharArrayWriter, FilterWriter, OutputStreamWriter, FileWriter, PipedWriter, PrintWriter, StringWriter, Reader

Поля

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

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

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

Модификатор Конструктор и описание
protected Writer()

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

protected Writer(Object lock)

Создаёт новый поток записи символов, чьи критические секции будут синхронизированы с данным объектом.

Методы

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

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

Writer append(CharSequence csq)

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

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

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

abstract void close()

Закрывает поток, предварительно сбросив его.

abstract void flush()

Сбрасывает поток.

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 - Объект для синхронизации

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

write

public void write(int c)
           throws IOException

Записывает один символ. Символ для записи содержится в 16 младших битах данного целого значения; 16 старших биты игнорируются.

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

Параметры:
c - int, определяющий символ для записи
Исключения:
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 - Количество символов для записи
Исключения:
IOException - Если происходит ошибка ввода-вывода

write

public void write(String str)
           throws IOException

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

Параметры:
str - Строка для записи
Исключения:
IOException - Если происходит ошибка ввода-вывода

write

public void write(String str,
                  int off,
                  int len)
           throws IOException

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

Параметры:
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() сбросит все буферы в цепочке Writer и OutputStream.

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

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

close

public abstract void close()
                    throws IOException

Закрывает поток, предварительно сбросив его. После того, как поток был закрыт, дальнейшие вызовы write() или flush() приведут к сбросу исключения IOException. Закрытие ранее закрытого потока не влияет на него.

Определено в:
close в интерфейсе Closeable
Определено в:
close в интерфейсе AutoCloseable
Исключения:
IOException - Если происходит ошибка ввода-вывода

© 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