Класс 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. Закрытие уже закрытого потока не имеет эффекта.
© 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.