Класс 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, 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 - Возвращает:
- 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- Если произошла ошибка ввода-вывода
© 1993, 2023, 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/21/docs/api/java.base/java/io/PushbackReader.html