BufferedReader v Javě: Jak číst text ze vstupního proudu



Tento článek popisuje BufferedReader v Javě ze třídy Reader spolu s různými konstruktory a metodami a popisem s příklady.

Jáva poskytuje několik mechanismů pro čtení z a soubor . Jednou důležitou třídou, která pomáhá při provádění této operace, je Vyrovnávací paměť . Takže tento článek o BufferedReader v vám pomůže pochopit třídu Bufferedreader spolu s příklady. Následující témata se zabývají tímto blogem:

Co je BufferedReader v Javě?

BufferedReader je Třída Java který čte text ze vstupního proudu. Vyrovnává znaky, aby bylo možné efektivně číst znaky, pole atd. Zdědí třídu čtečky a zefektivňuje kód, protože můžeme číst data řádek po řádku s readline () . Při práci s třídou BufferedReader v Javě musíme mít na paměti několik ukazatelů.





  • Možná budeme muset určit velikost vyrovnávací paměti, i když je výchozí hodnota dostatečně velká pro jakýkoli účel.
  • S každým požadavkem čtenáře, který odpovídá, je také vytvořen požadavek na čtení základního znaku.
  • Vždy se doporučuje zabalit třídu BufferedReader kolem jakékoli čtečky, jako je InputStreamReaders.
  • U programů, které používají DataInputaStreams pro textový vstup, nahradí DataInputStream příslušný BufferedReader, aby jej lokalizoval.

Deklarace třídy BufferedReader

veřejná třída BufferedReader rozšiřuje Reader

Konstruktory Java BufferedReader

Stavitel Popis

BufferedReader (čtečka čtečky)

Tento konstruktor vytvoří vyrovnávací paměť znakového vstupního proudu, který funguje na vstupní vyrovnávací paměti výchozí velikosti.



BufferedReader (čtečka čtečky, velikost int)

Pro vyrovnávací paměť vstupního proudu znaků používá zadanou velikost pro vstupní vyrovnávací paměť.

Metody a popis

Následují metody s popisem, který máme pro třídu Java BufferedReader.



Metoda Popis

int read ()

Přečte jeden znak

Řetězec readLine ()

Přečte řádek textu

reset prázdnoty ()

Přemístí stream na pozici, kde byla naposledy volána metoda značky

int čtení (char [] cb, int off, int len)

Přečte znaky v části pole

boolean markSupported ()

Testuje podporu vstupního proudu pro metodu resetování a označení

připraveno na boolean ()

Kontroluje, zda je vstupní proud připraven ke čtení

dlouhé přeskočení (dlouhé n)

přeskočí znaky

void close ()

Zavře vstupní proud

značka neplatnosti (int readAheadLimit)

Slouží k označení aktuální polohy ve streamu

Příklad:

import java.io. * public class Příklad {public static void main (String args [] vyvolá výjimku) {FileReader f = nový FileReader ('filelocation') BufferedReader b = nový BufferedReader (f) int i while ((i = b. read ())! = -1) {System.out.println ((char) i)} b.close () f.close ()

Rozdíl mezi skenerem a vyrovnávací pamětí

Vyrovnávací paměť Skener

Synchronní a mělo by se používat s více vlákny

co je awt v Javě

Není synchronní a nepoužívá se s více vlákny

Vyrovnávací paměť je větší

Vyrovnávací paměť je menší

Rychlejší než skener

Pomaleji, protože analyzuje vstupní data

Neexistuje žádná nejednoznačnost související s metodou nextline ()

S metodou nextline () je spousta problémů.

Používá ukládání do vyrovnávací paměti ke čtení znaků ze vstupního proudu znaků

Jedná se o jednoduchý textový skener, který analyzuje primitivní typy a řetězce

BufferedReader v příkladu JDK7

import java.io. * public class Příklad {public static void main (String [] args) {try (BufferedReader b = new BufferedReader (new fileReader ('filename')))) {String s while ((s = b.readLine ( ))! = null) {System.out.println (s)}} chytit (IOException e) {e.printStackTrace ()}}}

Čtení dat z konzoly InputStreamReader a BufferedReader v Javě

import java.io. * public class Příklad {public static void main (String args [] throws Exception) {InputStreamReader i = new InputStreamReader (system.in) BufferedReader b = new BufferedReader (i) System.out.println ('Vstup do kurzu ') Řetězcový kurz = b.readLine () System.out.pritln (' Edureka '+ kurz)}}
 Výstup: Zadejte kurz Java Edureka Java

Čtení dat z konzoly, dokud uživatel nezapíše Stop

import java.io. * public class Příklad {public static void main (String args [] throws Exception) {InputStreamReader i = new InputStreamReader (system.in) BufferedReader b = new BufferedReader (i) string course = '' while (! name .equals ('stop')) {System.out.println ('zadejte kurz:') Course = b.readLine () System.out.println ('Kurz je:' + kurz)} b.close () i. zavřít() } }
 Výstup: zadejte kurz: Kurz je: Java zadejte kurz: Kurz je: zastavit

Tím se dostáváme na konec tohoto článku, kde jsme se naučili, jak můžeme číst znaky ze vstupního proudu znaků pomocí třídy BufferedReader v Javě. Doufám, že máte jasno se vším, co bylo s vámi v tomto tutoriálu sdíleno.

Pokud vám tento článek o „BufferedReader v Javě“ připadá relevantní, podívejte se na důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě.

Jsme tu, abychom vám pomohli s každým krokem na vaší cestě a vytvořili osnovy určené pro studenty a profesionály, kteří chtějí být vývojářem Java. Kurz je navržen tak, aby vám poskytl náskok v programování Java a naučil vás základní i pokročilé koncepty Java spolu s různými jako Přezimovat & .

Pokud narazíte na jakékoli dotazy, neváhejte se zeptat na všechny své dotazy v sekci komentářů „BufferedReader v Javě“ a náš tým vám rád odpoví.