Класс PushbackReader
java.lang.Object
java.io.Reader
java.io.FilterReader
java.io.PushbackReader
- Все реализуемые интерфейсы:
Closeable, AutoCloseable, Readable
public class PushbackReader extends FilterReader
Потоковый символьный считыватель, позволяющий возвращать символы обратно в поток.
- С момента:
- 1.1
Краткое описание полей
Поля, объявленные в классе FilterReader
in | Модификатор и тип | Поле | Описание |
|---|---|---|
protected Reader |
in |
Базовый символьный входной поток. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
PushbackReader |
Создает новый считыватель с возвратом символов и буфером возврата размером в один символ. |
PushbackReader |
Создает новый считыватель с возвратом символов и буфером возврата указанного размера. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Закрывает поток и освобождает связанные с ним системные ресурсы. |
void |
mark |
Отмечает текущую позицию в потоке. |
boolean |
markSupported() |
Сообщает, поддерживает ли этот поток операцию mark(), которую он не поддерживает. |
int |
read() |
Считывает один символ. |
boolean |
ready() |
Сообщает, готов ли этот поток к чтению. |
void |
reset() |
Сбрасывает поток. |
void |
unread |
Возвращает массив символов в поток, копируя его в начало буфера возврата. |
void |
unread |
Возвращает часть массива символов в поток, копируя ее в начало буфера возврата. |
void |
unread |
Возвращает один символ в поток, копируя его в начало буфера возврата. |
Методы, объявленные в классе FilterReader
read, skip | Модификатор и тип | Метод | Описание |
|---|---|---|
int |
read |
Считывает символы в часть массива. |
long |
skip |
Пропускает символы. |
Методы, объявленные в классе Reader
nullReader, of, read, read, readAllAsString, readAllLines, transferTo | Модификатор и тип | Метод | Описание |
|---|---|---|
static Reader |
nullReader() |
Возвращает новый Reader, не считывающий символы. |
static Reader |
of |
Возвращает Reader, считывающий символы из CharSequence. |
int |
read |
Считывает символы в массив. |
int |
read |
Пытается считать символы в указанный символьный буфер. |
String |
readAllAsString() |
Считывает все оставшиеся символы в строку. |
List |
readAllLines() |
Считывает все оставшиеся символы как строки текста. |
long |
transferTo |
Считывает все символы из этого считывателя и записывает их в указанный объект записи в том порядке, в котором они считываются. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект другому объекту. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API планируется удалить в будущей версии. Финализация устарела и планируется к удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени. |
Подробное описание конструкторов
PushbackReader
public PushbackReader(Reader in, int size)
Создает новый считыватель с возвратом символов и буфером возврата указанного размера.
- Параметры:
-
in— считыватель, из которого будут считываться символы -
size— размер буфера возврата - Исключения:
-
IllegalArgumentException— еслиsize <= 0
PushbackReader
public PushbackReader(Reader in)
Создает новый считыватель с возвратом символов и буфером возврата размером в один символ.
- Параметры:
-
in— считыватель, из которого будут считываться символы
Подробное описание методов
read
public int read() throws IOException
Считывает один символ.
- Переопределяет:
-
readв классеFilterReader - Возвращает:
- Считанный символ или -1, если достигнут конец потока
- Исключения:
-
IOException— если произошла ошибка ввода-вывода
unread
public void unread(int c) throws IOException
Возвращает один символ в поток, копируя его в начало буфера возврата. После завершения этого метода следующий считываемый символ будет иметь значение
(char)c.- Параметры:
-
c— значение int, представляющее символ, который нужно вернуть в поток - Исключения:
-
IOException— если буфер возврата заполнен или произошла другая ошибка ввода-вывода
unread
public void unread(char[] cbuf, int off, int len) throws IOException
Возвращает часть массива символов в поток, копируя ее в начало буфера возврата. После завершения этого метода следующий считываемый символ будет иметь значение
cbuf[off], следующий за ним — значение cbuf[off+1] и так далее.- Параметры:
-
cbuf— массив символов -
off— смещение первого символа, который нужно вернуть в поток -
len— количество символов, которые нужно вернуть в поток - Исключения:
-
IOException— если в буфере возврата недостаточно места или произошла другая ошибка ввода-вывода
unread
public void unread(char[] cbuf) throws IOException
Возвращает массив символов в поток, копируя его в начало буфера возврата. После завершения этого метода следующий считываемый символ будет иметь значение
cbuf[0], следующий за ним — значение cbuf[1] и так далее.- Параметры:
-
cbuf— массив символов, который нужно вернуть в поток - Исключения:
-
IOException— если в буфере возврата недостаточно места или произошла другая ошибка ввода-вывода
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— всегда, поскольку отметки не поддерживаются
reset
public void reset() throws IOException
Сбрасывает поток. Метод
reset класса PushbackReader всегда выбрасывает исключение.- Переопределяет:
-
resetв классеFilterReader - Исключения:
-
IOException— всегда, поскольку сброс не поддерживается
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— если произошла ошибка ввода-вывода
© 1993, 2025, 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.