Spec-Zone.ru › OpenJDK 25

Класс 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

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

Конструктор Описание
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

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

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 из указанного массива символов.

Чтение из созданного объекта reader начнется с указанного offset. Общее количество значений char, которые можно считать из этого reader, будет равно 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
Возвращает:
Истина, если гарантируется, что следующий вызов read() не будет ожидать ввода; в противном случае — ложь. Обратите внимание: возвращаемое значение 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. Закрытие уже закрытого потока не оказывает никакого эффекта. Этот метод будет ожидать, если другой поток заблокирован при чтении из этого reader.
Определено в:
close в интерфейсе AutoCloseable
Определено в:
close в интерфейсе Closeable
Определено в:
close в классе Reader

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/CharArrayReader.html

Spec-Zone.ru

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