Класс 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 - Возвращает:
- Истина, если следующий вызов 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, 2021, 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/17/docs/api/java.base/java/io/PushbackReader.html