logo

Klasa Java.io.BufferedReader w Javie

Odczytuje tekst ze strumienia wejściowego znaków, buforując znaki, aby zapewnić wydajne odczytywanie znaków, tablic i linii. Można określić rozmiar bufora lub zastosować rozmiar domyślny. Wartość domyślna jest wystarczająco duża dla większości celów. Ogólnie rzecz biorąc, każde żądanie odczytu wysłane przez Czytnika powoduje wysłanie odpowiedniego żądania odczytu bazowego strumienia znaków lub bajtów. Dlatego zaleca się owinięcie BufferedReadera wokół dowolnego czytnika, którego operacje read() mogą być kosztowne, takiego jak FileReaders i InputStreamReaders. Programy korzystające ze strumieni DataInputStreams do wprowadzania tekstu można zlokalizować, zastępując je Strumień wejściowy danych z odpowiednim Buforowany czytnik .

Konstruktory klasy BufferedReader

Konstruktor Przedsięwzięcie wykonane
BufferedReader (Czytelnik w) Tworzy buforujący strumień wejściowy znaków, który używa bufora wejściowego o domyślnym rozmiarze
BufferedReader(Czytelnik w, int sz) Tworzy buforujący strumień wejściowy znaków, który używa buforu wejściowego o określonym rozmiarze.

Metody klasy BufferedReader

Nazwa metody Działanie
zamknąć() Zamyka strumień i zwalnia wszystkie powiązane z nim zasoby systemowe. Po zamknięciu strumienia dalsze wywołania read(), read(), mark(), reset() lub skip() spowodują zgłoszenie wyjątku IOException. Zamknięcie wcześniej zamkniętego strumienia nie przynosi żadnego efektu.
ocena() Oznacza bieżącą pozycję w strumieniu. Kolejne wywołania reset() będą próbowały zmienić położenie strumienia do tego punktu.
znakObsługiwane() Informuje, czy ten strumień obsługuje operację mark(), co faktycznie robi.
Czytać() Czyta pojedynczy znak.
czytaj(char[] cbuf, int wył., int len) Wczytuje znaki do części tablicy. Ta metoda implementuje ogólną umowę odpowiedniej metody read klasy Reader. Dla dodatkowej wygody próbuje odczytać jak najwięcej znaków, wielokrotnie wywołując metodę read strumienia bazowego.
Czytaj linię() Czyta wiersz tekstu. Linię uważa się za zakończoną którymkolwiek ze znaków przejścia do wiersza („ ”), powrotu karetki („ ”) lub powrotu karetki, po którym następuje natychmiastowe przesunięcie wiersza.
gotowy() Informuje, czy ten strumień jest gotowy do odczytania.
Resetowanie() Resetuje strumień do najnowszego znacznika.
pominąć (długie) Pomija znaki.

Realizacja: Zawartość wewnątrz pliku jest następująca:



This is first line this is second line>

Przykład

topologie

Jawa




Algorytm sortowania sterty





// Java Program to Illustrate BufferedReader Class> // Via Its Methods> > // Importing required classes> import> java.io.BufferedReader;> import> java.io.FileReader;> import> java.io.IOException;> > // Class> class> GFG {> > >// Main driver method> >public> static> void> main(String[] args)> >throws> IOException> >{> > >// Creating object of FileReader and BufferedReader> >// class> >FileReader fr =>new> FileReader(>'file.txt'>);> >BufferedReader br =>new> BufferedReader(fr);> > >char> c[] =>new> char>[>20>];> > >// Illustrating markSupported() method> >if> (br.markSupported()) {> > >// Print statement> >System.out.println(> >'mark() method is supported'>);> > >// Illustrating mark method> >br.mark(>100>);> >}> > >// File Contents is as follows:> >// This is first line> >// this is second line> > >// Skipping 8 characters> >br.skip(>8>);> > >// Illustrating ready() method> >if> (br.ready()) {> > >// Illustrating readLine() method> >System.out.println(br.readLine());> > >// Illustrating read(char c[],int off,int len)> >br.read(c);> > >for> (>int> i =>0>; i <>20>; i++) {> >System.out.print(c[i]);> >}> > >System.out.println();> > >// Illustrating reset() method> >br.reset();> >for> (>int> i =>0>; i <>8>; i++) {> > >// Illustrating read() method> >System.out.print((>char>)br.read());> >}> >}> >}> }>

stół reakcji

>

przykład danych json
>

Wyjście:

mark() method is supported first line this is second line This is>