Класс Writer
- Все реализуемые интерфейсы:
Closeable, Flushable, Appendable, AutoCloseable
- Прямые известные подклассы:
BufferedWriter, CharArrayWriter, FilterWriter, OutputStreamWriter, PipedWriter, PrintWriter, StringWriter
public abstract class Writer extends Object implements Appendable, Closeable, Flushable
- Начиная с версии:
- 1.1
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected Object |
lock |
Объект, используемый для синхронизации операций с этим потоком. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт новый объект записи в символьный поток, критические секции которого синхронизируются по самому объекту записи. |
|
protected |
Создаёт новый объект записи в символьный поток, критические секции которого синхронизируются по заданному объекту. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Writer |
append |
Добавляет указанный символ в этот объект записи. |
Writer |
append |
Добавляет указанную последовательность символов в этот объект записи. |
Writer |
append |
Добавляет подстроку указанной последовательности символов в этот объект записи. |
abstract void |
close() |
Закрывает поток, предварительно сбрасывая его буферы. |
abstract void |
flush() |
Сбрасывает буферы потока. |
static Writer |
nullWriter() |
Возвращает новый Writer, который отбрасывает все символы. |
void |
write |
Записывает массив символов. |
abstract void |
write |
Записывает часть массива символов. |
void |
write |
Записывает один символ. |
void |
write |
Записывает строку. |
void |
write |
Записывает часть строки. |
Методы, объявленные в классе 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() |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного интервала реального времени. |
final void |
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
Подклассам, которым требуется поддержка эффективного вывода отдельных символов, следует переопределить этот метод.
- Параметры:
-
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— количество символов для записи - Выбрасывает:
-
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), когда csq не является null, ведёт себя точно так же, как вызов
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
Вызов этого метода в форме 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
Если предназначенное для потока место назначения является абстракцией, предоставляемой базовой операционной системой, например файлом, сброс буферов потока гарантирует только передачу ранее записанных в поток байтов операционной системе для записи; он не гарантирует их фактическую запись на физическое устройство, например дисковый накопитель.
- Определяется в:
-
flushв интерфейсеFlushable - Выбрасывает:
-
IOException— если происходит ошибка ввода-вывода
close
public abstract void close() throws IOException
- Определяется в:
-
closeв интерфейсеAutoCloseable - Определяется в:
-
closeв интерфейсеCloseable - Выбрасывает:
-
IOException— если происходит ошибка ввода-вывода
© 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.