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ě?
- Deklarace třídy BufferedReader
- Konstruktory Java BufferedReader
- Metody a popis
- Rozdíl mezi Scanner a BufferReader
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í.