Spec-Zone.ru › OpenJDK 27

Класс CharArrayReader

java.lang.Object
java.io.Reader
java.io.CharArrayReader
Все реализуемые интерфейсы:
Closeable, AutoCloseable, Readable
public class CharArrayReader extends Reader
Этот класс реализует буфер символов, который можно использовать как поток ввода символов.
Начиная с:
1.1

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

Модификатор и тип Поле Описание
protected char[] buf
Буфер символов.
protected int count
Индекс конца этого буфера.
protected int markedPos
Позиция метки в буфере.
protected int pos
Текущая позиция в буфере.

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

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

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

Конструктор Описание
CharArrayReader(char[] buf)
Создает CharArrayReader из указанного массива символов.
CharArrayReader(char[] buf, int offset, int length)
Создает CharArrayReader из указанного массива символов.

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

Модификатор и тип Метод Описание
void close()
Закрывает поток и освобождает все связанные с ним системные ресурсы.
void mark(int readAheadLimit)
Устанавливает метку в текущей позиции потока.
boolean markSupported()
Сообщает, поддерживает ли этот поток операцию mark(), которую он поддерживает.
int read()
Читает один символ.
int read(char[] cbuf, int off, int len)
Читает символы в часть массива.
boolean ready()
Сообщает, готов ли этот поток к чтению.
void reset()
Возвращает поток к последней установленной метке или в начало, если метка ни разу не устанавливалась.
long skip(long n)
Пропускает символы.

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

nullReader, of, read, read, readAllAsString, readAllLines, transferTo
Модификатор и тип Метод Описание
static Reader nullReader()
Возвращает новый Reader, который не читает символы.
static Reader of(CharSequence cs)
Возвращает Reader, который читает символы из CharSequence.
int read(char[] cbuf)
Читает символы в массив.
int read(CharBuffer target)
Пытается прочитать символы в указанный символьный буфер.
String readAllAsString()
Читает все оставшиеся символы в строку.
List<String> readAllLines()
Читает все оставшиеся символы как строки текста.
long transferTo(Writer out)
Читает все символы из этого средства чтения и записывает их в указанное средство записи в том порядке, в котором они были прочитаны.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, 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()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо истечения заданного времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо истечения заданного времени.

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

buf

protected char[] buf
Буфер символов.

pos

protected int pos
Текущая позиция в буфере.

markedPos

protected int markedPos
Позиция метки в буфере.

count

protected int count
Индекс конца этого буфера. По этому индексу и далее нет допустимых данных.

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

CharArrayReader

public CharArrayReader(char[] buf)
Создает CharArrayReader из указанного массива символов.
Параметры:
buf — входной буфер (не копируется)

CharArrayReader

public CharArrayReader(char[] buf, int offset, int length)
Создает CharArrayReader из указанного массива символов.

Созданное средство чтения начнет читать с указанной offset. Общее количество значений char, которое можно прочитать из этого средства чтения, будет равно меньшему из length и buf.length-offset.

Параметры:
buf — входной буфер (не копируется)
offset — смещение первого символа для чтения
length — количество символов для чтения
Исключения:
IllegalArgumentException — если offset отрицательно или больше buf.length, либо если length отрицательно, или если сумма этих двух значений отрицательна.

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

read

public int read() throws IOException
Читает один символ.
Переопределяет:
read в классе Reader
Возвращает:
Прочитанный символ в виде целого числа в диапазоне от 0 до 65535 (0x00-0xffff) или -1, если достигнут конец потока
Исключения:
IOException — если произошла ошибка ввода-вывода

read

public int read(char[] cbuf, int off, int len) throws IOException
Читает символы в часть массива.

Если len равно нулю, символы не читаются и возвращается 0; в противном случае предпринимается попытка прочитать хотя бы один символ. Если символы недоступны, поскольку поток достиг конца, возвращается значение -1; в противном случае читается как минимум один символ и сохраняется в cbuf.

Определено в:
read в классе Reader
Параметры:
cbuf — буфер назначения
off — смещение, с которого начинают сохраняться символы
len — максимальное количество символов для чтения
Возвращает:
Количество прочитанных символов или -1, если достигнут конец потока
Исключения:
IndexOutOfBoundsException — если off отрицательно, или len отрицательно, или len больше cbuf.length - off
IOException — если произошла ошибка ввода-вывода

skip

public long skip(long n) throws IOException
Пропускает символы. Если до вызова этого метода поток уже достиг конца, символы не пропускаются и возвращается ноль.

Параметр n может быть отрицательным, хотя метод skip суперкласса Reader в этом случае вызывает исключение. Если n отрицательно, этот метод ничего не делает и возвращает 0.

Переопределяет:
skip в классе Reader
Параметры:
n — количество символов для пропуска
Возвращает:
Фактическое количество пропущенных символов
Исключения:
IOException — если произошла ошибка ввода-вывода

ready

public boolean ready() throws IOException
Сообщает, готов ли этот поток к чтению. Средства чтения символьных массивов всегда готовы к чтению.
Переопределяет:
ready в классе Reader
Возвращает:
true, если гарантируется, что следующий вызов read() не будет блокироваться в ожидании ввода; в противном случае false. Обратите внимание: возвращаемое значение false не гарантирует, что следующий вызов read будет блокироваться.
Исключения:
IOException — если произошла ошибка ввода-вывода

markSupported

public boolean markSupported()
Сообщает, поддерживает ли этот поток операцию mark(), которую он поддерживает.
Переопределяет:
markSupported в классе Reader
Возвращает:
true тогда и только тогда, когда этот поток поддерживает операцию mark.

mark

public void mark(int readAheadLimit) throws IOException
Устанавливает метку в текущей позиции потока. Последующие вызовы reset() переместят поток в эту позицию.
Переопределяет:
mark в классе Reader
Параметры:
readAheadLimit — ограничение на количество символов, которые можно прочитать с сохранением метки. Поскольку входные данные потока поступают из массива символов, фактического ограничения нет; поэтому этот аргумент игнорируется.
Исключения:
IOException — если произошла ошибка ввода-вывода

reset

public void reset() throws IOException
Возвращает поток к последней установленной метке или в начало, если метка ни разу не устанавливалась.
Переопределяет:
reset в классе Reader
Исключения:
IOException — если произошла ошибка ввода-вывода

close

public void close()
Закрывает поток и освобождает все связанные с ним системные ресурсы. После закрытия потока дальнейшие вызовы read(), ready(), mark(), reset() или skip() приведут к возникновению IOException. Повторное закрытие уже закрытого потока не оказывает никакого эффекта. Этот метод будет блокироваться, пока другое поточное выполнение заблокировано на средстве чтения.
Определено в:
close в интерфейсе AutoCloseable
Определено в:
close в интерфейсе Closeable
Определено в:
close в классе Reader

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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