Spec-Zone.ru › OpenJDK 24

Класс 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
Текущее положение в буфере.

Поля, объявленные в классе java.io.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)
Пропускает символы.

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

nullReader, of, read, read, transferTo

Методы, объявленные в классе java.lang.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 из заданного массива символов.

Результирующий ридер начнет чтение с указанного 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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/io/CharArrayReader.html

Spec-Zone.ru

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