Spec-Zone.ru › OpenJDK 21

Класс 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, 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, если следующее чтение гарантированно не заблокируется на входе, false в противном случае. Обратите внимание, что возврат false не гарантирует, что следующее чтение заблокируется.
Исключения:
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, 2023, 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/21/docs/api/java.base/java/io/CharArrayReader.html

Spec-Zone.ru

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