Класс PushbackReader

Все реализованные интерфейсы:
Closeable, AutoCloseable, Readable
public class PushbackReader
extends FilterReader

Потоковый ридер символов, позволяющий возвращать символы обратно в поток.

С момента:
1.1

Поля

Поля, объявленные в классе java.io.FilterReader

in

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

lock

Конструкторы

КонструкторОписание
PushbackReader​(Reader in)

Создаёт новый ридер pushback с буфером pushback на один символ.

PushbackReader​(Reader in, int size)

Создаёт новый ридер pushback с буфером pushback заданного размера.

Методы

Модификатор и типМетодОписание
voidclose()

Закрывает поток и освобождает связанные с ним системные ресурсы.

voidmark​(int readAheadLimit)

Помечает текущую позицию в потоке.

booleanmarkSupported()

Указывает, поддерживает ли этот поток операцию mark(), чего он не делает.

intread()

Читает один символ.

intread​(char[] cbuf, int off, int len)

Читает символы в часть массива.

booleanready()

Указывает, готов ли этот поток к чтению.

voidreset()

Сбрасывает поток.

longskip​(long n)

Пропускает символы.

voidunread​(char[] cbuf)

Возвращает массив символов, копируя его в начало буфера pushback.

voidunread​(char[] cbuf, int off, int len)

Возвращает часть массива символов, копируя её в начало буфера pushback.

voidunread​(int c)

Возвращает один символ, копируя его в начало буфера pushback.

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

nullReader, read, read, transferTo

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

PushbackReader

public PushbackReader(Reader in,
                      int size)

Создаёт новый ридер pushback с буфером pushback заданного размера.

Параметры:
in - Ридер, из которого будут считываться символы
size - Размер буфера pushback
Исключения:
IllegalArgumentException - если size <= 0

PushbackReader

public PushbackReader(Reader in)

Создаёт новый ридер pushback с буфером pushback на один символ.

Параметры:
in - Ридер, из которого будут считываться символы

Методы

read

public int read()
         throws IOException

Читает один символ.

Переопределяет:
read в классе FilterReader
Возвращает:
Прочитанный символ или -1, если достигнут конец потока
Исключения:
IOException - Если произошла ошибка ввода-вывода

read

public int read(char[] cbuf,
                int off,
                int len)
         throws IOException

Читает символы в часть массива.

Переопределяет:
read в классе FilterReader
Параметры:
cbuf - Буфер назначения
off - Смещение для начала записи символов
len - Максимальное количество символов для чтения
Возвращает:
Количество прочитанных символов или -1, если достигнут конец потока
Исключения:
IOException - Если произошла ошибка ввода-вывода
IndexOutOfBoundsException - Если произошла ошибка ввода-вывода

unread

public void unread(int c)
            throws IOException

Возвращает один символ в начало буфера pushback. После возврата этого метода следующий символ для чтения будет иметь значение (char)c.

Параметры:
c - Целочисленное значение, представляющее возвращаемый символ
Исключения:
IOException - Если буфер pushback полон или произошла ошибка ввода-вывода

unread

public void unread(char[] cbuf,
                   int off,
                   int len)
            throws IOException

Возвращает часть массива символов в начало буфера pushback. После возврата этого метода следующий символ для чтения будет иметь значение cbuf[off], следующий после него - cbuf[off+1] и так далее.

Параметры:
cbuf - Массив символов
off - Смещение первого возвращаемого символа
len - Количество возвращаемых символов
Исключения:
IOException - Если в буфере pushback нет места или произошла ошибка ввода-вывода

unread

public void unread(char[] cbuf)
            throws IOException

Возвращает массив символов в начало буфера pushback. После возврата этого метода следующий символ для чтения будет иметь значение cbuf[0], следующий после него - cbuf[1] и так далее.

Параметры:
cbuf - Возвращаемый массив символов
Исключения:
IOException - Если в буфере pushback нет места или произошла ошибка ввода-вывода

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 - Если произошла ошибка ввода-вывода

skip

public long skip(long n)
          throws IOException

Пропускает символы. Этот метод будет заблокирован до тех пор, пока доступны символы, произошла ошибка ввода-вывода или достигнут конец потока.

Переопределяет:
skip в классе FilterReader
Параметры:
n - Количество символов для пропуска
Возвращает:
Количество фактически пропущенных символов
Исключения:
IllegalArgumentException - Если n отрицательно.
IOException - Если произошла ошибка ввода-вывода

© 1993, 2020, 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/11/docs/api/java.base/java/io/PushbackReader.html

Spec-Zone .ru
спецификации, руководства, описания, API