Spec-Zone.ru › OpenJDK 17

Класс 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, если следующее чтение read() гарантированно не заблокируется для ввода, иначе 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, 2021, 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/17/docs/api/java.base/java/io/CharArrayReader.html

Spec-Zone.ru

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