Класс 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
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
PushbackReader |
Создаёт новый поток чтения с буфером для возврата одного символа. |
PushbackReader |
Создаёт новый поток чтения с буфером для возврата заданного размера. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Закрывает поток и освобождает связанные с ним системные ресурсы. |
void |
mark |
Помечает текущее положение в потоке. |
boolean |
markSupported() |
Указывает, поддерживает ли этот поток операцию mark(), которой он не поддерживает. |
int |
read() |
Читает один символ. |
boolean |
ready() |
Указывает, готов ли этот поток к чтению. |
void |
reset() |
Сбрасывает поток. |
void |
unread |
Возвращает массив символов, копируя его в начало буфера возврата. |
void |
unread |
Возвращает часть массива символов, копируя её в начало буфера возврата. |
void |
unread |
Возвращает один символ, копируя его в начало буфера возврата. |
Методы, объявленные в классе java.io.FilterReader
read, skip
Методы, объявленные в классе java.io.Reader
nullReader, of, read, read, transferTo
Подробное описание конструкторов
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- Целочисленное значение, представляющее символ, который нужно вернуть - Исключения:
-
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 - Возвращает:
- Истина, если следующий вызов read() гарантированно не будет блокироваться в ожидании ввода, ложь в противном случае. Обратите внимание, что возвращение ложного значения не гарантирует, что следующий вызов 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- Если произошла ошибка ввода-вывода
© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/io/PushbackReader.html