Класс 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"добавляются к этому объекту Writer. - Возвращает:
- Этот объект Writer
- Исключения:
-
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- Индекс символа, следующего за последним символом в подпоследовательности - Возвращает:
- Этот объект Writer
- Исключения:
-
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-битный символ для добавления - Возвращает:
- Этот объект Writer
- Исключения:
-
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, 2021, 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/17/docs/api/java.base/java/io/Writer.html