Класс PushbackReader
- java.lang.Object
-
- java.io.Reader
-
- java.io.FilterReader
-
- java.io.PushbackReader
- Все реализованные интерфейсы:
-
Closeable,AutoCloseable,Readable
public class PushbackReader extends FilterReader
Потоковый ридер символов, позволяющий возвращать символы обратно в поток.
- С момента:
- 1.1
Поля
Поля, объявленные в классе java.io.FilterReader
inПоля, объявленные в классе java.io.Reader
lockКонструкторы
| Конструктор | Описание |
|---|---|
PushbackReader(Reader in) | Создаёт новый ридер pushback с буфером pushback на один символ. |
PushbackReader(Reader in,
int size) | Создаёт новый ридер pushback с буфером pushback заданного размера. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
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) | Пропускает символы. |
void | unread(char[] cbuf) | Возвращает массив символов, копируя его в начало буфера pushback. |
void | unread(char[] cbuf,
int off,
int len) | Возвращает часть массива символов, копируя её в начало буфера pushback. |
void | unread(int c) | Возвращает один символ, копируя его в начало буфера pushback. |
Методы, объявленные в классе java.io.Reader
nullReader, read, read, transferToМетоды, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitКонструкторы
PushbackReader
public PushbackReader(Reader in,
int size)Создаёт новый ридер pushback с буфером pushback заданного размера.
- Параметры:
-
in- Ридер, из которого будут считываться символы -
size- Размер буфера pushback - Исключения:
-
IllegalArgumentException- еслиsize <= 0
PushbackReader
public PushbackReader(Reader in)
Создаёт новый ридер pushback с буфером pushback на один символ.
- Параметры:
-
in- Ридер, из которого будут считываться символы
Методы
read
public int read()
throws IOExceptionЧитает один символ.
- Переопределяет:
-
readв классеFilterReader - Возвращает:
- Прочитанный символ или -1, если достигнут конец потока
- Исключения:
-
IOException- Если произошла ошибка ввода-вывода
read
public int read(char[] cbuf,
int off,
int len)
throws IOExceptionЧитает символы в часть массива.
- Переопределяет:
-
readв классеFilterReader - Параметры:
-
cbuf- Буфер назначения -
off- Смещение для начала записи символов -
len- Максимальное количество символов для чтения - Возвращает:
- Количество прочитанных символов или -1, если достигнут конец потока
- Исключения:
-
IOException- Если произошла ошибка ввода-вывода -
IndexOutOfBoundsException- Если произошла ошибка ввода-вывода
unread
public void unread(int c)
throws IOExceptionВозвращает один символ в начало буфера pushback. После возврата этого метода следующий символ для чтения будет иметь значение (char)c.
- Параметры:
-
c- Целочисленное значение, представляющее возвращаемый символ - Исключения:
-
IOException- Если буфер pushback полон или произошла ошибка ввода-вывода
unread
public void unread(char[] cbuf,
int off,
int len)
throws IOExceptionВозвращает часть массива символов в начало буфера pushback. После возврата этого метода следующий символ для чтения будет иметь значение cbuf[off], следующий после него - cbuf[off+1] и так далее.
- Параметры:
-
cbuf- Массив символов -
off- Смещение первого возвращаемого символа -
len- Количество возвращаемых символов - Исключения:
-
IOException- Если в буфере pushback нет места или произошла ошибка ввода-вывода
unread
public void unread(char[] cbuf)
throws IOExceptionВозвращает массив символов в начало буфера pushback. После возврата этого метода следующий символ для чтения будет иметь значение cbuf[0], следующий после него - cbuf[1] и так далее.
- Параметры:
-
cbuf- Возвращаемый массив символов - Исключения:
-
IOException- Если в буфере pushback нет места или произошла ошибка ввода-вывода
ready
public boolean ready()
throws IOExceptionУказывает, готов ли этот поток к чтению.
- Переопределяет:
-
readyв классеFilterReader - Возвращает:
- true, если следующий вызов read() гарантированно не заблокируется, false в противном случае. Обратите внимание, что возвращение false не гарантирует блокировки следующего вызова read.
- Исключения:
-
IOException- Если произошла ошибка ввода-вывода
mark
public void mark(int readAheadLimit)
throws IOExceptionПомечает текущую позицию в потоке. Метод mark для класса PushbackReader всегда выбрасывает исключение.
- Переопределяет:
-
markв классеFilterReader - Параметры:
-
readAheadLimit- Ограничение на количество символов, которые могут быть прочитаны, сохраняя метку. После чтения такого количества символов, попытка сбросить поток может завершиться неудачей. - Исключения:
-
IOException- Всегда, так как mark не поддерживается
reset
public void reset()
throws IOExceptionСбрасывает поток. Метод reset класса PushbackReader всегда выбрасывает исключение.
- Переопределяет:
-
resetв классеFilterReader - Исключения:
-
IOException- Всегда, так как reset не поддерживается
markSupported
public boolean markSupported()
Указывает, поддерживает ли этот поток операцию mark(), чего он не делает.
- Переопределяет:
-
markSupportedв классеFilterReader - Возвращает:
- true тогда и только тогда, когда этот поток поддерживает операцию mark.
close
public void close()
throws IOExceptionЗакрывает поток и освобождает связанные с ним системные ресурсы. После закрытия потока дальнейшие вызовы read(), unread(), ready() или skip() выбросят исключение IOException. Закрытие уже закрытого потока не имеет эффекта. Этот метод будет заблокирован, пока другой поток блокирует ридер.
- Определено в:
-
closeв интерфейсеAutoCloseable - Определено в:
-
closeв интерфейсеCloseable - Определено в:
-
closeв классеReader - Исключения:
-
IOException- Если произошла ошибка ввода-вывода
skip
public long skip(long n)
throws IOExceptionПропускает символы. Этот метод будет заблокирован до тех пор, пока доступны символы, произошла ошибка ввода-вывода или достигнут конец потока.
- Переопределяет:
-
skipв классеFilterReader - Параметры:
-
n- Количество символов для пропуска - Возвращает:
- Количество фактически пропущенных символов
- Исключения:
-
IllegalArgumentException- Еслиnотрицательно. -
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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/PushbackReader.html