BufferedReader σε Java: Τρόπος ανάγνωσης κειμένου από ροή εισόδου

Αυτό το άρθρο καλύπτει το BufferedReader σε Java από την τάξη Reader μαζί με διάφορους κατασκευαστές και μεθόδους και περιγραφή με παραδείγματα.

Ιάβα παρέχει διάφορους μηχανισμούς για να διαβάσετε από ένα αρχείο . Μια σημαντική τάξη που βοηθά στην εκτέλεση αυτής της λειτουργίας είναι η BufferedReader . Έτσι, αυτό το άρθρο σχετικά με το BufferedReader στο θα σας βοηθήσει στην κατανόηση της κατηγορίας Bufferedreader μαζί με παραδείγματα. Ακολουθούν τα θέματα που καλύπτονται σε αυτό το ιστολόγιο:



Τι είναι το BufferedReader στην Java;

Το BufferedReader είναι ένα Τάξη Java που διαβάζει κείμενο από τη ροή εισόδου. Ρυθμίζει τους χαρακτήρες έτσι ώστε να μπορεί να πάρει την αποτελεσματική ανάγνωση των χαρακτήρων, συστοιχίες κλπ. Κληρονομεί την κλάση αναγνώστη και καθιστά τον κώδικα αποτελεσματικό, αφού μπορούμε να διαβάσουμε τα δεδομένα ευθέως προς τη γραμμή ανάγνωσης () . Υπάρχουν μερικοί δείκτες που πρέπει να έχουμε κατά νου ενώ εργαζόμαστε με την κατηγορία BufferedReader στην Java.



  • Ίσως χρειαστεί να καθορίσουμε το μέγεθος της προσωρινής μνήμης παρόλο που η προεπιλογή είναι αρκετά μεγάλη για οποιονδήποτε σκοπό.
  • Με κάθε αίτημα από έναν αναγνώστη αντίστοιχο, ένα αίτημα ανάγνωσης γίνεται επίσης από έναν υποκείμενο χαρακτήρα.
  • Συνιστάται πάντοτε να τυλίγετε μια κατηγορία BufferedReader γύρω από οποιονδήποτε αναγνώστη όπως το InputStreamReaders.
  • Για τα προγράμματα που χρησιμοποιούν DataInputaStreams για εισαγωγή κειμένου, ένα κατάλληλο BufferedReader αντικαθιστά το DataInputStream για να το εντοπίσει.

Δήλωση κατηγορίας BufferedReader

δημόσια τάξη BufferedReader επεκτείνει τον αναγνώστη

Κατασκευαστές Java BufferedReader

Οικοδόμος Περιγραφή

BufferedReader (Αναγνώστης ανάγνωσης)

Αυτός ο κατασκευαστής δημιουργεί ένα buffering stream-input stream που λειτουργεί σε buffer εισόδου προεπιλεγμένου μεγέθους.



BufferedReader (Αναγνώστης ανάγνωσης, μέγεθος int)

πώς να χρησιμοποιήσετε το Microsoft Visual Studio

Χρησιμοποιεί το καθορισμένο μέγεθος για το buffer εισόδου για την αποθήκευση της ροής εισόδου χαρακτήρων.

Μέθοδοι και περιγραφή

Ακολουθούν οι μέθοδοι με την περιγραφή που έχουμε για την κλάση Java BufferedReader.



Μέθοδος Περιγραφή

int διάβασμα ()

Διαβάζει έναν μόνο χαρακτήρα

String readLine ()

Διαβάζει μια γραμμή κειμένου

μηδενική επαναφορά ()

Επανατοποθετεί τη ροή στη θέση όπου κλήθηκε τελευταία η μέθοδος σήμανσης

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

Διαβάζει τους χαρακτήρες σε ένα τμήμα ενός πίνακα

boolean mark Υποστηρίζεται ()

Ελέγχει την υποστήριξη ροής εισόδου για τη μέθοδο επαναφοράς και σήμανσης

boolean έτοιμο ()

Ελέγχει εάν η ροή εισόδου είναι έτοιμη για ανάγνωση

μακρά παράλειψη (μακρά ν)

παραλείπει τους χαρακτήρες

άκυρο κλείσιμο ()

Κλείνει τη ροή εισόδου

κενό σήμα (int readAheadLimit)

Χρησιμοποιείται για την επισήμανση της τρέχουσας θέσης στη ροή

Παράδειγμα:

import java.io. * public class Παράδειγμα {public static void main (String args [] throws Exception) {FileReader f = new FileReader ('filelocation') BufferedReader b = νέο BufferedReader (f) int i ενώ ((i = b. διαβάστε ())! = -1) {System.out.println ((char) i)} b.close () f.close ()

Διαφορά μεταξύ σαρωτή και BufferedReader

BufferedReader Ερευνητής

Σύγχρονη και πρέπει να χρησιμοποιείται με πολλά νήματα

Δεν είναι σύγχρονο και δεν χρησιμοποιείται με πολλά νήματα

Η μνήμη buffer είναι μεγαλύτερη

Η μνήμη buffer είναι μικρότερη

Ταχύτερα από το σαρωτή

Πιο αργή επειδή κάνει ανάλυση των δεδομένων εισόδου

Δεν υπάρχει αμφισημία σχετικά με τη μέθοδο nextline ()

Υπάρχουν πολλά προβλήματα με τη μέθοδο nextline ().

Χρησιμοποιεί buffering για να διαβάσει χαρακτήρες από τη ροή εισαγωγής χαρακτήρων

Είναι ένας απλός σαρωτής κειμένου που αναλύει πρωτόγονους τύπους και χορδές

Παράδειγμα BufferedReader στο JDK7

import java.io. * public class Παράδειγμα {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)}} catch (IOException e) {e.printStackTrace ()}}}

Ανάγνωση δεδομένων από την κονσόλα από InputStreamReader και BufferedReader στην Java

import java.io. * public class Παράδειγμα {public static void main (String args [] throws Exception) {InputStreamReader i = new InputStreamReader (system.in) BufferedReader b = νέο BufferedReader (i) System.out.println ('Enter Course Σειρά μαθημάτων = b.readLine () System.out.pritln ('Edureka' + course)}}
 Παραγωγή: Μπείτε στο μάθημα Java Edureka Java

Ανάγνωση δεδομένων από την κονσόλα έως ότου ο χρήστης γράψει Διακοπή

import java.io. * public class Παράδειγμα {public static void main (String args [] throws Exception) {InputStreamReader i = new InputStreamReader (system.in) BufferedReader b = νέο BufferedReader (i) string course = 'while (! name) .equals ('stop')) {System.out.println ('enter course:') course = b.readLine () System.out.println ('Course is:' + course)} b.close () i. Κλείσε() } }
 Παραγωγή: enter course: Course είναι: Java enter course: Το μάθημα είναι: stop

Αυτό μας φέρνει στο τέλος αυτού του άρθρου όπου μάθαμε πώς μπορούμε να διαβάσουμε χαρακτήρες από τη ροή εισαγωγής χαρακτήρων χρησιμοποιώντας την κλάση BufferedReader στην Java. Ελπίζω να είστε ξεκάθαροι με όλα όσα έχουν μοιραστεί μαζί σας σε αυτό το σεμινάριο.

Εάν βρήκατε αυτό το άρθρο σχετικά με το 'BufferedReader in Java', ανατρέξτε στο μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με ένα δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο.

πώς να χρησιμοποιήσετε το οπτικό στούντιο

Είμαστε εδώ για να σας βοηθήσουμε σε κάθε βήμα στο ταξίδι σας και να βρείτε ένα πρόγραμμα σπουδών που έχει σχεδιαστεί για μαθητές και επαγγελματίες που θέλουν να γίνουν προγραμματιστές Java. Το μάθημα έχει σχεδιαστεί για να σας δώσει μια πρώτη αρχή στον προγραμματισμό Java και να σας εκπαιδεύσει τόσο για τις βασικές όσο και για τις προηγμένες ιδέες Java μαζί με διάφορες σαν Παραχειμάζω & .

Εάν συναντήσετε οποιεσδήποτε ερωτήσεις, μη διστάσετε να κάνετε όλες τις ερωτήσεις σας στην ενότητα σχολίων του 'BufferedReader in Java' και η ομάδα μας θα χαρεί να απαντήσει.