Spec-Zone.ru › OpenJDK 8

Класс CharArrayReader

  • java.lang.Object
    • java.io.Reader
      • java.io.CharArrayReader
Все реализованные интерфейсы:
Closeable, AutoCloseable, Readable

public class CharArrayReader
extends Reader

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

С момента:
JDK1.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[] b, int off, int len)

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

boolean ready()

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

void reset()

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

long skip(long n)

Пропускает символы.

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

read, read

Методы, унаследованные от класса 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 - Если произошла ошибка ввода-вывода

skip

public long skip(long n)
          throws IOException

Пропускает символы. Возвращает количество пропущенных символов.

Параметр n может быть отрицательным, даже если метод skip суперкласса Reader выбрасывает исключение в этом случае. Если n отрицательное, то этот метод ничего не делает и возвращает 0.

Переопределяет:
skip в классе Reader
Параметры:
n - Количество символов для пропуска
Возвращает:
Количество фактически пропущенных символов
Исключения:
IOException - Если поток закрыт, или произошла ошибка ввода-вывода

ready

public boolean ready()
              throws IOException

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

Переопределяет:
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 в интерфейсе Closeable
Определено в:
close в интерфейсе AutoCloseable
Определено в:
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.

Spec-Zone.ru

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