Spec-Zone.ru › OpenJDK 27

Класс CharArrayWriter

java.lang.Object
java.io.Writer
java.io.CharArrayWriter
Все реализованные интерфейсы:
Closeable, Flushable, Appendable, AutoCloseable
public class CharArrayWriter extends Writer
Этот класс реализует буфер символов, который можно использовать как Writer. Буфер автоматически увеличивается при записи данных в поток. Данные можно получить с помощью методов toCharArray() и toString().

Примечание. Вызов close() для этого класса не оказывает никакого эффекта, и методы этого класса можно вызывать после закрытия потока без генерации IOException.

Начиная с:
1.1

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

Модификатор и тип Поле Описание
protected char[] buf
Буфер, в котором хранятся данные.
protected int count
Количество символов в буфере.

Поля, объявленные в классе Writer

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

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

Конструктор Описание
CharArrayWriter()
Создает новый CharArrayWriter.
CharArrayWriter(int initialSize)
Создает новый CharArrayWriter с указанным начальным размером.

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

Модификатор и тип Метод Описание
CharArrayWriter append(char c)
Добавляет указанный символ в этот объект записи.
CharArrayWriter append(CharSequence csq)
Добавляет указанную последовательность символов в этот объект записи.
CharArrayWriter append(CharSequence csq, int start, int end)
Добавляет подпоследовательность указанной последовательности символов в этот объект записи.
void close()
Закрывает поток.
void flush()
Сбрасывает поток.
void reset()
Сбрасывает буфер, чтобы его можно было использовать повторно, не освобождая уже выделенную память.
int size()
Возвращает текущий размер буфера.
char[] toCharArray()
Возвращает копию входных данных.
String toString()
Преобразует входные данные в строку.
void write(char[] c, int off, int len)
Записывает символы в буфер.
void write(int c)
Записывает символ в буфер.
void write(String str, int off, int len)
Записывает часть строки в буфер.
void writeTo(Writer out)
Записывает содержимое буфера в другой символьный поток.

Методы, объявленные в классе Writer

nullWriter, write, write
Модификатор и тип Метод Описание
static Writer nullWriter()
Возвращает новый Writer, отбрасывающий все символы.
void write(char[] cbuf)
Записывает массив символов.
void write(String str)
Записывает строку.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело и будет удалено: этот элемент API может быть удален в будущей версии.
Финализация устарела и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения определенного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения определенного промежутка реального времени.

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

buf

protected char[] buf
Буфер, в котором хранятся данные.

count

protected int count
Количество символов в буфере.

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

CharArrayWriter

public CharArrayWriter()
Создает новый CharArrayWriter.

CharArrayWriter

public CharArrayWriter(int initialSize)
Создает новый CharArrayWriter с указанным начальным размером.
Параметры:
initialSize — целое число, задающее начальный размер буфера.
Выбрасывает:
IllegalArgumentException — если initialSize отрицателен

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

write

public void write(int c)
Записывает символ в буфер.
Переопределяет:
write в классе Writer
Параметры:
c — целое число, задающее записываемый символ

write

public void write(char[] c, int off, int len)
Записывает символы в буфер.
Определен в:
write в классе Writer
Параметры:
c — записываемые данные
off — начальное смещение в данных
len — количество записываемых символов
Выбрасывает:
IndexOutOfBoundsException — если off отрицателен, len отрицателен либо off + len отрицателен или превышает длину заданного массива

write

public void write(String str, int off, int len)
Записывает часть строки в буфер.
Переопределяет:
write в классе Writer
Параметры:
str — строка, из которой выполняется запись
off — смещение, с которого начинается чтение символов
len — количество записываемых символов
Выбрасывает:
IndexOutOfBoundsException — если off отрицателен, len отрицателен либо off + len отрицателен или превышает длину заданной строки

writeTo

public void writeTo(Writer out) throws IOException
Записывает содержимое буфера в другой символьный поток.
Параметры:
out — выходной поток, в который выполняется запись
Выбрасывает:
IOException — если произошла ошибка ввода-вывода.

append

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

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

    out.write(csq.toString())

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

Определен в:
append в интерфейсе Appendable
Переопределяет:
append в классе Writer
Параметры:
csq — последовательность символов для добавления. Если csq равен null, в этот объект записи добавляются четыре символа "null".
Возвращает:
этот объект записи
Начиная с:
1.5

append

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

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

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

append

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

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

    out.write(c)
Определен в:
append в интерфейсе Appendable
Переопределяет:
append в классе Writer
Параметры:
c — 16-разрядный символ для добавления
Возвращает:
этот объект записи
Начиная с:
1.5

reset

public void reset()
Сбрасывает буфер, чтобы его можно было использовать повторно, не освобождая уже выделенную память.

toCharArray

public char[] toCharArray()
Возвращает копию входных данных.
Возвращает:
массив символов, скопированных из входных данных.

size

public int size()
Возвращает текущий размер буфера.
Возвращает:
целое число, представляющее текущий размер буфера.

toString

public String toString()
Преобразует входные данные в строку.
Переопределяет:
toString в классе Object
Возвращает:
строку.

flush

public void flush()
Сбрасывает поток.

Метод flush класса CharArrayWriter ничего не делает.

Определен в:
flush в интерфейсе Flushable
Определен в:
flush в классе Writer

close

public void close()
Закрывает поток. Этот метод не освобождает буфер, поскольку его содержимое может еще понадобиться. Примечание. Вызов этого метода для данного класса не оказывает никакого эффекта.
Определен в:
close в интерфейсе AutoCloseable
Определен в:
close в интерфейсе Closeable
Определен в:
close в классе Writer

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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