Java BufferedReader

Java BufferedReader
Klasa BufferedReader Java wykorzystuje bufory znaków, aby zapewnić wydajność podczas czytania tekstu ze strumienia wprowadzania znaków. Zazwyczaj każde zapytanie odczytu wykonane do czytnika wywołuje podobne żądanie odczytu, które ma zostać wysłane do postaci lub strumienia bajtów pod spodem. Dlatego wskazane jest użycie buforowego, aby załączyć dowolnego czytelnika, który może mieć drogie operacje odczytu, w tym filereaderów i wejściowychReaders. Pomaga ułatwić wydajność. Pochodzi z klasy czytelników.

Przykład nr 1: Używanie Buffered -Reader ze strumieniem w Javie w Ubuntu 20.04

Strumień wejściowy może być używany jako źródło dla buforowego czytnika. Aby odczytać dane z systemu.W, zamknijmy InputStreamReader. Informacje, które wpisujemy na klawiaturze, zostaną przez niego odczytane.

Do powyższego programu Java zaimportowaliśmy pakiet „Java.io.BufferedReader ”wraz z innymi pakietami Java. Następnie stworzyliśmy publiczną klasę Java jako „test1” i zbudowaliśmy główną metodę, która również rzuca ioExecption, jeśli coś pójdzie nie tak w głównej metodzie. Tutaj zadeklarowaliśmy zmienną „MyStream” z klasy „InputStreamReader” i przypisaliśmy „System.w ”, który pozwala nam odczytać strumień wejściowy od użytkownika. Następnie tworzymy BufferedReader w zmiennej „myBufferedReader” i przekazujemy „myStream” jako parametr. Zmienna „linia” odczytaj strumień wejściowy, ponieważ ustawiliśmy metodę odczytu za pomocą „MyBufferEdReader”. Wyświetliliśmy strumień wejściowy ze słowa kluczowego przez system.na zewnątrz.Metoda drukowania i zamknięcie Buffered -Reader.

BufferedReader odczytuje strumień wejściowy w następującej konsoli Java.

Przykład nr 2: Używanie BufferedReader do odczytu plików według linii w Javie w Ubuntu 20.04

Klasa BufferedReader oferuje wiele metod czytania danych. Jedna linia jest odczytywana na raz przez funkcję Readline (). Ta metoda daje NULL, jeśli strumień kończy się. Aby odczytać plik, zastosujmy tę metodę:

Do głównego programu Java podaliśmy ścieżkę pliku „Plik.txt ”, który jest czytany przez klasę FileReader. BufferedReader odczytuje dane z tego pliku, który ma kilka wierszy tekstu. W tym celu stworzyliśmy zmienną „BufferedReader” i wywołyliśmy BufferedReader, który przyjmuje „FileReader” jako argument. Zastosowaliśmy pętlę While, która przetrwała nad każdym wierszem w danym pliku i odczytał metodą BufferedReader o nazwie ReadLine (). W końcu Buffered -Reader jest zamknięty.

Możesz zobaczyć metodę BufferEdReader ReadLine () odczytaj wiersz zawartości pliku według linii i wyświetlić ją na wyjściu.

Przykład nr 3: Używanie BufferedReader do odczytania postaci z pliku w Javie w Ubuntu 20.04

Metoda Read () klasy BufferedReader pozwala nam odczytać tylko jeden znak na raz. Odczyt zwroty jest zwracany przez tę procedurę jako liczba całkowita. Jeśli zbliżymy się do końca strumienia, funkcja zwraca -1. Działanie tej techniki pokazano w poniższym kodzie. W naszym pliku mamy wiersz „To jest plik tekstowy”.

Program Java jest dość taki sam, jak wspomniana ilustracja. Tutaj podaliśmy nazwę pliku „plik.txt ”do zmiennej„ nazwa pliku ”. „Czytelnik” odczytuje plik, a następnie „czytnik” jest przekazywany do buforowanego,. BufferedReader nazwał metodę Read () wewnątrz pętli while i zwrócił znak jeden po drugim w pliku.

Znaki z pliku są pobierane jeden po drugim metodą Read ().

Przykład nr 4: Używanie BufferedReader do czytania wielu znaków w Javie w Ubuntu 20.04

Dodatkowo wiele znaków można odczytać jednocześnie za pomocą metody Read (). Tablica char, która będzie przechowywać dane, musi być dostarczona. Dodatkowo musimy określić przesunięcie, aby oznaczyć początkowy indeks charytatycznej Charray. Ten indeks służy jako punkt wyjścia dla zapisanych danych. Konieczne jest również stwierdzenie, ile znaków można odczytać jednocześnie.

Najpierw podaliśmy nazwę pliku, a następnie utworzyliśmy BufferedReader. Następnie ustanowiliśmy tablicę Char [], która przyjmuje sześć znaków jednocześnie. Wewnątrz „pliku.txt ”, mamy frazę wejściową„ tekst ”. Funkcja Read () BufferedReader zostanie użyta do uzyskania wszystkich znaków pliku. Do metody Read () przekazaliśmy indeks początkowy i indeks końcowy tablicy znaków, więc metoda odczyt () odczyt sześć znaków z pliku.

Ponieważ mamy słowo „tekstowe” w naszym pliku, metoda Read () wyświetla wszystkie znaki jednocześnie z pliku.

Przykład nr 5: Używanie BufferedReader do pomijania postaci w Javie w Ubuntu 20.04

Funkcja Skip () jest dostępna w klasie BufferedReader, której można użyć do wykluczenia znaków z tekstu. Parametr typu jest dość długi. W naszym pliku mamy wiersz „mój plik tekstowy”. Musimy pominąć jedną postać po przeczytaniu każdego z nich.

Utworzyliśmy BufferedReader i przekazaliśmy mu zmienną FileReader, która ma ścieżkę pliku. Następnie zdefiniowaliśmy obiekt „chread”. Zdefiniowaliśmy również metodę StringBuilder dla zmiennej sekwencji znaków w zmiennej „str_b”. Wykorzystaliśmy pętlę While, która nazywa się metodą Read (), która odczytywała postać na raz. Gdy postacie są czytane jeden po drugim, mamy metodę pominiętą, która pomija następną postać po przeczytaniu jednej postaci.

Po pominięciu postaci z dostarczonej linii, wyjście jest uzyskiwane w ten sposób:

Przykład nr 6: Używanie BufferedReader dla Mark i Rest in Java w Ubuntu 20.04

W przypadku oznaczania określonego znaku klasa BufferedReader ma funkcję Mark (). Ilekroć chcemy w przyszłości, możemy użyć metody RESET (), aby powrócić do wyznaczonego znaku. Liczba całkowita reprezentująca liczbę bajtów, które można odczytać w sumie, zanim znak zostanie uznany za niepoprawny, jest wejściem dla metody Mark ().

W naszym pliku mamy słowo „li*nux”. Określiliśmy plik „Plik.txt ”do FileReader. Następnie skonstruowaliśmy buforowy, w którym przechodził filereader. Wszystkie postacie zostaną odczytane, ale przeczytamy tylko te z gwiazdką. Następnie użyjemy resetowania, aby wrócić do tego punktu (). W tym celu zdefiniowaliśmy tablicę z indeksem określonym dla każdego znaku. Po dwóch indeksach tablicy oznaczyliśmy metodę znaku gwiazdka i pominęliśmy ją metodą SKIP. Metoda odpoczynku w dowolnym momencie wróci do znakowanej postaci.

Gwiazdka oznaczona w pliku jest pomijana przez powyższą implementację kodu.

Wniosek

Klasa BufferedReader jest używana do odczytu danych ze źródeł takich jak pliki lub strumienie, za pomocą bufora, który minimalizuje operacje we/wy, poprawia wydajność innych czytelników. Wiele praktycznych technik odczytu danych jest dostępnych za pośrednictwem klasy BufferedReader. Poszczególną linię można odczytać za pomocą funkcji ReadLine (). Możesz odczytać jeden lub więcej znaków za pomocą metody Read ().