Класс Java.io.FilterReader в Java
Абстрактный класс для чтения отфильтрованных символьных потоков. Сам абстрактный класс FilterReader предоставляет методы по умолчанию, которые передают все запросы содержащемуся потоку. Подклассы FilterReader должны переопределять некоторые из этих методов, а также могут предоставлять дополнительные методы и поля.
Конструктор:
- protected FilterReader (Reader in) : создает новый отфильтрованный читатель.
Методы:
- void close (): закрывает поток и освобождает все связанные с ним системные ресурсы. после закрытия потока дальнейшие вызовы read (), ready (), mark (), reset () или skip () вызовут исключение IOException . Закрытие ранее закрытого потока не имеет никакого эффекта.
Синтаксис: public void close () выбрасывает IOException Броски: IOException
- void mark (int readAheadLimit): отмечает текущую позицию в потоке.
Синтаксис: общедоступная метка недействительности (int readAheadLimit) выбрасывает IOException Параметры: readAheadLimit - ограничение на количество символов, которые могут быть прочитаны при этом все еще сохраняя отметку. Прочитав столько символов, попытка сбросить поток может потерпеть неудачу. Броски: IOException
- boolean markSupported (): Сообщает, поддерживает ли этот поток операцию mark ().
Синтаксис: public boolean markSupported () Возврат: Значение true тогда и только тогда, когда этот поток поддерживает операцию отметки.
- int read (): читает один символ.
Синтаксис: public int read () выбрасывает IOException Возврат: Читаемый символ как целое число в диапазоне от 0 до 65535 (0x00-0xffff), или -1, если достигнут конец потока Броски: IOException
- int read (char [] cbuf, int off, int len): считывает символы в часть массива.
Синтаксис: public int read (char [] cbuf, int off, int len) выбрасывает IOException Параметры: cbuf - Целевой буфер off - смещение, с которого начинается сохранение символов len - Максимальное количество символов для чтения Возврат: Количество прочитанных символов или -1, если достигнут конец потока. Броски: IOException
- boolean ready (): сообщает, готов ли этот поток к чтению.
Синтаксис: public boolean ready () выбрасывает IOException Возврат: Истинно, если следующее read () гарантированно не заблокируется для ввода, в противном случае - ложь. Обратите внимание, что возврат false не гарантирует что следующее чтение будет заблокировано. Броски: IOException
- void reset (): сбрасывает поток.
Синтаксис: public void reset () выбрасывает IOException Броски: IOException
- long skip (long n): пропускает символы.
Синтаксис: public long skip (long n) выбрасывает IOException Параметры: n - количество символов, которые нужно пропустить Возврат: Количество фактически пропущенных символов Броски: IOException
Program :
//Java program illustrating FilterReader class methods import java.io.*; class FilterReaderdemo { public static void main(String[] args) throws IOException { Reader r = new StringReader( "GeeksforGeeks" ); FilterReader fr = new FilterReader(r) { }; char ch[] = new char [ 8 ]; //illustrating markSupported() if (fr.markSupported()) { //illustrating mark() method System.out.println( "mark method is supported" ); fr.mark( 100 ); } //illustrating skip() method fr.skip( 5 ); //illustrating ready() if (fr.ready()) { //illustrating read(char[] cbuff,int off,int len) fr.read(ch); for ( int i = 0 ; i < 8 ; i++) { System.out.print(ch[i]); } //illustrating reset() fr.reset(); for ( int i = 0 ; i < 5 ; i++) { //illustrating read() System.out.print(( char )fr.read()); } } //closing the stream fr.close(); } } |
Выход :
метка метод поддерживается forGeeksGeeks
Автор статьи - Нишант Шарма . Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью с помощью provide.geeksforgeeks.org или отправить ее по электронной почте на deposit@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.
Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.
Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .