Spec-Zone.ru › OpenJDK 27

Класс 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
Базовый символьный входной поток.

Поля, объявленные в классе Reader

lock
Модификатор и тип Поле Описание
protected Object lock
Объект, используемый для синхронизации операций с этим потоком.

Краткое описание конструкторов

Конструктор Описание
PushbackReader(Reader in)
Создает новый считыватель с возвратом символов и буфером возврата размером в один символ.
PushbackReader(Reader in, int size)
Создает новый считыватель с возвратом символов и буфером возврата указанного размера.

Краткое описание методов

Модификатор и тип Метод Описание
void close()
Закрывает поток и освобождает связанные с ним системные ресурсы.
void mark(int readAheadLimit)
Отмечает текущую позицию в потоке.
boolean markSupported()
Сообщает, поддерживает ли этот поток операцию mark(), которую он не поддерживает.
int read()
Считывает один символ.
boolean ready()
Сообщает, готов ли этот поток к чтению.
void reset()
Сбрасывает поток.
void unread(char[] cbuf)
Возвращает массив символов в поток, копируя его в начало буфера возврата.
void unread(char[] cbuf, int off, int len)
Возвращает часть массива символов в поток, копируя ее в начало буфера возврата.
void unread(int c)
Возвращает один символ в поток, копируя его в начало буфера возврата.

Методы, объявленные в классе FilterReader

read, skip
Модификатор и тип Метод Описание
int read(char[] cbuf, int off, int len)
Считывает символы в часть массива.
long skip(long n)
Пропускает символы.

Методы, объявленные в классе Reader

nullReader, of, read, read, readAllAsString, readAllLines, transferTo
Модификатор и тип Метод Описание
static Reader nullReader()
Возвращает новый Reader, не считывающий символы.
static Reader of(CharSequence cs)
Возвращает Reader, считывающий символы из CharSequence.
int read(char[] cbuf)
Считывает символы в массив.
int read(CharBuffer target)
Пытается считать символы в указанный символьный буфер.
String readAllAsString()
Считывает все оставшиеся символы в строку.
List<String> readAllLines()
Считывает все оставшиеся символы как строки текста.
long transferTo(Writer out)
Считывает все символы из этого считывателя и записывает их в указанный объект записи в том порядке, в котором они считываются.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект другому объекту.
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(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова 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 — если произошла ошибка ввода-вывода

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API