Класс CharArrayReader

Все реализованные интерфейсы:
Closeable, AutoCloseable, Readable
public class CharArrayReader
extends Reader

Этот класс реализует буфер символов, который может использоваться в качестве потока символьного ввода.

С момента:
1.1

Поля

Модификатор и типПолеОписание
protected char[]buf

Буфер символов.

protected intcount

Индекс конца этого буфера.

protected intmarkedPos

Индекс метки в буфере.

protected intpos

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

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

lock

Конструкторы

КонструкторОписание
CharArrayReader​(char[] buf)

Создает CharArrayReader из указанного массива символов.

CharArrayReader​(char[] buf, int offset, int length)

Создает CharArrayReader из указанного массива символов.

Методы

Модификатор и типМетодОписание
voidclose()

Закрывает поток и высвобождает любые системные ресурсы, связанные с ним.

voidmark​(int readAheadLimit)

Помечает текущую позицию в потоке.

booleanmarkSupported()

Указывает, поддерживает ли этот поток операцию mark(), что он делает.

intread()

Считывает один символ.

intread​(char[] b, int off, int len)

Считывает символы в часть массива.

booleanready()

Указывает, готов ли этот поток к чтению.

voidreset()

Возвращает поток к последней метке или к началу, если метка никогда не была установлена.

longskip​(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[] b,
                int off,
                int len)
         throws IOException

Считывает символы в часть массива.

Определено в:
read в классе Reader
Параметры:
b - Буфер назначения
off - Смещение для начала записи символов
len - Максимальное количество считываемых символов
Возвращает:
Фактическое количество считанных символов, или -1, если достигнут конец потока
Исключения:
IOException - Если произошла ошибка ввода-вывода
IndexOutOfBoundsException - Если произошла ошибка ввода-вывода

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, 2020, 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/11/docs/api/java.base/java/io/CharArrayReader.html

Spec-Zone .ru
спецификации, руководства, описания, API