BufferedReader in Java: tekst lezen uit invoerstroom



Dit artikel behandelt de BufferedReader in Java van de Reader-klasse samen met verschillende constructors en methoden en een beschrijving met voorbeelden.

Java biedt verschillende mechanismen om te lezen van een het dossier . Een belangrijke klasse die helpt bij het uitvoeren van deze bewerking is de BufferedReader . Dus dit artikel over BufferedReader in zal u helpen bij het begrijpen van de Bufferedreader-klasse, samen met voorbeelden. Hieronder volgen de onderwerpen die in deze blog worden behandeld:

Wat is BufferedReader in Java?

BufferedReader is een Java-klasse die tekst uit de invoerstroom leest. Het buffert de karakters zodat het de karakters efficiënt kan lezen, arrays , enz. Het erft de klasse reader en maakt de code efficiënt omdat we de gegevens regel voor regel kunnen lezen met de readline () . Er zijn een paar punten die we in gedachten moeten houden bij het werken met de BufferedReader-klasse in Java.





  • Het kan zijn dat we de buffergrootte moeten specificeren, ook al is de standaard groot genoeg voor elk doel.
  • Met elk verzoek van een lezer wordt een overeenkomstig, ook een leesverzoek gedaan van een onderliggend karakter.
  • Het wordt altijd aangeraden om een ​​BufferedReader-klasse om een ​​lezer te wikkelen, zoals InputStreamReaders.
  • Voor de programma's die DataInputaStreams gebruiken voor tekstinvoer, vervangt een geschikte BufferedReader de DataInputStream om deze te lokaliseren.

BufferedReader Class Declaration

openbare klasse BufferedReader breidt Reader uit

Java BufferedReader Constructors

Bouwer Omschrijving

BufferedReader (Reader-lezer)

Deze constructor maakt een bufferende tekeninvoerstroom die werkt op een invoerbuffer met standaardgrootte.



BufferedReader (Reader-lezer, int-grootte)

Het gebruikt de opgegeven grootte voor de invoerbuffer voor het bufferen van de tekeninvoerstroom.

Methoden en beschrijving

Hieronder volgen de methoden met de beschrijving die we hebben voor de Java BufferedReader-klasse.



Methode Omschrijving

int lezen ()

Leest een enkel teken

Tekenreeks readLine ()

Het leest een regel tekst

ongeldige reset ()

Herpositioneert de stream naar de positie waar de markeringsmethode het laatst werd aangeroepen

int lezen (char [] cb, int off, int len)

Leest de tekens in een gedeelte van een array

boolean markSupported ()

Het test de input stream ondersteuning voor reset en markeer methode

boolean gereed ()

Het controleert of de invoerstroom klaar is om te lezen

lang overslaan (lange n)

standaardwaarde van char in java
slaat de karakters over

leegte sluiten ()

Het sluit de invoerstroom

leegte mark (int readAheadLimit)

Wordt gebruikt om de huidige positie in de stream te markeren

Voorbeeld:

import java.io. * public class Voorbeeld {public static void main (String args [] throws Exception) {FileReader f = nieuwe FileReader ('filelocation') BufferedReader b = new BufferedReader (f) int i while ((i = b. read ())! = -1) {System.out.println ((char) i)} b.close () f.close ()

Verschil tussen scanner en BufferedReader

BufferedReader Scanner

Synchroon en moet worden gebruikt met meerdere threads

Niet synchroon en niet gebruikt met meerdere threads

Buffergeheugen is groter

Buffergeheugen is kleiner

Sneller dan scanner

Langzamer omdat het de invoergegevens ontleedt

Er is geen dubbelzinnigheid met betrekking tot de methode nextline ()

Er zijn veel problemen met de methode nextline ().

Gebruikt buffering om tekens uit de tekeninvoerstroom te lezen

hadoop instellen op ubuntu

Het is een eenvoudige tekstscanner die primitieve typen en tekenreeksen parseert

BufferedReader in JDK7-voorbeeld

import java.io. * public class Voorbeeld {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)}} vangst (IOException e) {e.printStackTrace ()}}}

Gegevens lezen uit console door InputStreamReader en BufferedReader in Java

import java.io. * public class Voorbeeld {public static void main (String args [] throws Exception) {InputStreamReader i = nieuwe InputStreamReader (system.in) BufferedReader b = new BufferedReader (i) System.out.println ('Enter Course ') String course = b.readLine () System.out.pritln (' Edureka '+ course)}}
 Uitgang: Voer Cursus Java Edureka Java in

Gegevens lezen van console totdat schrijven door gebruiker stopt

import java.io. * public class Voorbeeld {public static void main (String args [] throws Exception) {InputStreamReader i = nieuwe InputStreamReader (system.in) BufferedReader b = nieuwe BufferedReader (i) string course = '' while (! name .equals ('stop')) {System.out.println ('enter course:') course = b.readLine () System.out.println ('cursus is:' + course)} b.close () i. dichtbij() } }
 Uitgang: voer cursus in: cursus is: Java voer cursus in: cursus is: stop

Dit brengt ons bij het einde van dit artikel waar we hebben geleerd hoe we tekens uit de tekeninvoerstroom kunnen lezen met behulp van de BufferedReader-klasse in Java. Ik hoop dat je duidelijk bent met alles wat in deze tutorial met je is gedeeld.

Als je dit artikel over 'BufferedReader in Java' relevant vond, bekijk dan het een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld.

We zijn hier om je te helpen bij elke stap op je reis en om een ​​curriculum te bedenken dat is ontworpen voor studenten en professionals die een Java-ontwikkelaar willen worden. De cursus is bedoeld om u een voorsprong te geven in het programmeren van Java en u te trainen in zowel kern- als geavanceerde Java-concepten, samen met verschillende Leuk vinden Slaapstand & .

Mocht u vragen tegenkomen, stel dan gerust al uw vragen in de commentarensectie van 'BufferedReader in Java' en ons team zal u graag beantwoorden.