Класс PushbackReader
- java.lang.Object
-
- java.io.Reader
-
- java.io.FilterReader
-
- java.io.PushbackReader
- Все реализованные интерфейсы:
- Closeable, AutoCloseable, Readable
public class PushbackReader extends FilterReader
Потоковый ридер символов, позволяющий возвращать символы в поток.
- С тех пор:
- JDK1.1
Поля
Поля, унаследованные от класса java.io.FilterReader
in
Поля, унаследованные от класса java.io.Reader
lock
Конструкторы
| Конструктор и описание |
|---|
PushbackReader(Reader in)
Создаёт новый pushback ридер с буфером для возврата одного символа. |
PushbackReader(Reader in,
int size)
Создаёт новый pushback ридер с буфером для возврата заданного размера. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
close() Закрывает поток и освобождает все системные ресурсы, связанные с ним. |
void |
mark(int readAheadLimit) Помечает текущую позицию в потоке. |
boolean |
markSupported() Указывает, поддерживает ли этот поток операцию mark(), которой он не обладает. |
int |
read() Читает один символ. |
int |
read(char[] cbuf,
int off,
int len) Читает символы в часть массива. |
boolean |
ready() Указывает, готов ли этот поток к чтению. |
void |
reset() Сбрасывает поток. |
long |
skip(long n) Пропускает символы. |
void |
unread(char[] cbuf) Возвращает массив символов, копируя его в начало буфера возврата. |
void |
unread(char[] cbuf,
int off,
int len) Возвращает часть массива символов, копируя её в начало буфера возврата. |
void |
unread(int c) Возвращает один символ, копируя его в начало буфера возврата. |
Методы, унаследованные от класса java.io.Reader
read, read
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Подробное описание конструкторов
PushbackReader
public PushbackReader(Reader in,
int size)
Создаёт новый pushback ридер с буфером для возврата заданного размера.
- Параметры:
-
in- Ридер, из которого будут считываться символы -
size- Размер буфера возврата - Исключения:
-
IllegalArgumentException- еслиsize <= 0
PushbackReader
public PushbackReader(Reader in)
Создаёт новый 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- Если произошла ошибка ввода-вывода
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в интерфейсеCloseable - Определено в:
-
closeв интерфейсеAutoCloseable - Переопределяет:
-
closeв классеFilterReader - Исключения:
-
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.