Класс 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 |
Записывает часть строки. |
Подробное описание полей
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- целое число, определяющее символ для записи - Исключения:
-
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
Если предполагаемое место назначения этого потока - абстракция, предоставляемая ОС, например, файл, то сброс потока гарантирует только то, что байты, ранее записанные в поток, передаются ОС для записи; он не гарантирует, что они фактически будут записаны на физическое устройство, например, на жёсткий диск.
- Определено в:
-
flushв интерфейсеFlushable - Исключения:
-
IOException- Если произошла ошибка ввода/вывода
close
public abstract void close() throws 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