Java BufferedReader

Java BufferedReader
Javas BufferedReader -klasse bruker karakterbuffere for å sikre en effektivitet når du leser tekst fra en karakterinngangsstrøm. Vanligvis utløser hver leste spørsmål som er laget til en leser en lignende lesesespørsel som skal sendes til karakteren eller byte -strømmen under. Derfor anbefales det å bruke en bufferedreader for å omslutte enhver leser som kan ha dyre leseoperasjoner, som inkluderer FileReaders og InputStreamLesere. Det hjelper til å lette ytelsen. Det er avstammet fra leserklassen.

Eksempel 1: Bruke en bufferedreader med en strøm i Java i Ubuntu 20.04

En inngangsstrøm kan brukes som kilde for en bufferedreader. Å lese data fra systemet.I, la oss innkapsling av inputStreamReader. Informasjonen vi skriver på tastaturet vil bli lest av den.

Til Java -programmet ovenfor har vi importert pakken “Java.io.BufferedReader ”sammen med andre Java -pakker. Deretter har vi laget den offentlige Java -klassen som "Test1" og bygget hovedmetoden inni den som også kaster IOExecption hvis noe går galt innenfor hovedmetoden. Her erklærte vi variabelen “MyStream” fra klassen “InputStreamReader” og tildelte “Systemet.i ”som lar oss lese inngangsstrømmen fra brukeren. Deretter oppretter vi BufferedReader i variabelen “MyBufferedReader” og passerte “MyStream” som en parameter. "Linje" -variabelen leser inngangsstrømmen da vi har satt Readline -metoden med "MyBufferedReader". Vi har vist inngangsstrømmen fra nøkkelordet gjennom systemet.ute.utskriftsmetode og lukket bufferedreader.

BufferedReader leser inngangsstrømmen i den følgende Java -konsollen.

Eksempel 2: Bruke en bufferedreader for å lese filer linje for linje i Java i Ubuntu 20.04

BufferedReader -klassen tilbyr mange metoder for å lese data. En linje blir lest om gangen av Readline () -funksjonen. Denne metoden gir null hvis strømmen avsluttes. For å lese en fil, la oss bruke denne metoden:

Til Java -programmet Main har vi gitt filstien “Fil.txt ”som blir lest av FileReader -klassen. BufferedReader leste dataene fra denne filen som har noen få linjer med tekst. For dette har vi laget variabelen “BufferedReader” og påkalt BufferedReader som tar "Filerader" som et argument. Vi har brukt mens Loop, som syklet over hver linje i den gitte filen og lest etter BufferedReader -metoden som heter Readline (). Til slutt er BufferedReader stengt.

Du kan se BufferedReader -metoden Readline () Les filinnholdslinjen for linje og vise den i utgangen.

Eksempel nr. 3: Bruke en bufferedreader for å lese et tegn fra en fil i Java i Ubuntu 20.04

BufferedReader -klassens lest () -metode lar oss bare lese ett tegn om gangen. Char Read blir returnert av denne prosedyren som et heltall. Hvis vi nærmer oss strømmen, returnerer funksjonen -1. Operasjonen av denne teknikken vises i koden nedenfor. Vi har linjen "Dette er en tekstfil" i filen vår.

Java -programmet er ganske det samme som den nevnte illustrasjonen. Her har vi oppgitt filnavnet “Fil.txt ”til variabelen“ Filnavn ”. "Leseren" leser filen, og deretter blir "leseren" sendt til BufferedReader. BufferedReader kalte lest () -metoden inne i While Loop og returnerte tegnet en etter en i filen.

Tegnene fra filen hentes én etter en av lest () -metoden til Java BufferedReader.

Eksempel 4: Bruke en bufferedreader for å lese flere tegn i Java i Ubuntu 20.04

I tillegg kan mange tegn leses samtidig ved å bruke lest () -metoden. En char -matrise som vil inneholde dataene må leveres. I tillegg må vi spesifisere en forskyvning for å betegne Char Array's Begynnelsesindeks. Denne indeksen fungerer som utgangspunkt for lagrede data. Det er også nødvendig å oppgi hvor mange tegn som kan leses samtidig.

Først har vi gitt filnavnet og deretter opprette bufferedreader. Etter dette har vi opprettet Char [] -arrayen som tar seks karakterer om gangen. Inne i “Filen.txt ”, vi har inngangsfrasen“ tekst ”. Les () -funksjonen til BufferedReader vil bli brukt til å skaffe seg alle filens tegn. Til lest () -metoden har vi passert startindeksen og sluttindeksen for karakteroppstillingen, så lest () -metoden leste seks tegn fra filen.

Siden vi har et "tekst" -ord i filen vår, sender lest () -metoden alle tegnene på en gang fra filen.

Eksempel 5: Bruke en bufferedreader for å hoppe over tegn i Java i Ubuntu 20.04

En hopp () -funksjon er tilgjengelig i BufferedReader -klassen, som kan brukes til å ekskludere tegn fra teksten. Typeparameteren er ganske lang. Vi har linjen “Min tekstfil” i filen vår. Vi må hoppe over en karakter etter å ha lest hver enkelt.

Vi har opprettet BufferedReader og passert FileReader -variabelen til den, som har filstien. Deretter definerte vi “Chread” -objektet. Vi har også definert StringBuilder -metoden for en mutbar sekvens av tegnene i variabelen “STR_B”. Vi har brukt mens Loop som kalles lest () -metoden som leser karakteren om gangen. Når karakterene blir lest en etter en da, har vi hoppet over metoden som hopper over neste karakter etter å ha lest den ene karakteren.

Etter at karakteren er hoppet over fra den medfølgende linjen, oppnås utgangen slik:

Eksempel 6: Bruke en bufferedreader for merke og hvile i Java i Ubuntu 20.04

For å markere et spesifikt tegn har BufferedReader -klassen merket () -funksjonen. Hver gang vi vil i fremtiden, kan vi bruke RESET () -metoden for å gå tilbake til den angitte karakteren. Et heltall som representerer antall byte som kan leses totalt før merket anses som feil, er inngangen for Mark () -metoden.

Vi har ordet “li*nux” til stede i filen vår. Vi har spesifisert filen "Filen.txt ”til fileraderen. Deretter konstruerte vi BufferedReader der filerereren blir passert. Alle karakterene vil bli lest, men vi vil bare lese de med en stjerne. Etter det bruker vi tilbakestilling for å gå tilbake til dette punktet (). For dette har vi definert matrisen med indeksen som er spesifisert for hvert tegn. Etter de to indeksene i matrisen, markerte vi stjerne Y -merkemetoden og hoppet over den ved hoppemetoden. REST -metoden vil når som helst ta tilbake til den markerte karakteren.

Stjerne merket i filen hoppes over av koden ovenfor.

Konklusjon

BufferedReader -klassen brukes til å lese data fra kilder som filer eller strømmer, ved hjelp av en buffer som minimerer I/O -operasjoner, forbedrer ytelsen til andre lesere. Mange praktiske teknikker for å lese data er tilgjengelige gjennom BufferedReader -klassen. En individuell linje kan leses ved hjelp av readline () -funksjonen. Du kan lese ett eller flere tegn ved hjelp av lest () -metoden.