Java BufferedReader (με παραδείγματα)

Σε αυτό το σεμινάριο, θα μάθουμε για το Java BufferedReader και τις μεθόδους του με τη βοήθεια παραδειγμάτων.

Η BufferedReaderκλάση του java.ioπακέτου μπορεί να χρησιμοποιηθεί με άλλους αναγνώστες για την πιο αποτελεσματική ανάγνωση δεδομένων (σε χαρακτήρες).

Επεκτείνει την αφηρημένη τάξη Reader.

Εργασία του BufferedReader

Η BufferedReaderδιατηρεί ένα εσωτερικό ρυθμιστικό διάλυμα των 8192 χαρακτήρων .

Κατά τη διάρκεια της λειτουργίας ανάγνωσης, διαβάζεται BufferedReaderένα κομμάτι χαρακτήρων από το δίσκο και αποθηκεύεται στο εσωτερικό buffer. Και από το εσωτερικό buffer οι χαρακτήρες διαβάζονται ξεχωριστά.

Ως εκ τούτου, ο αριθμός της επικοινωνίας με το δίσκο μειώνεται. Αυτός είναι ο λόγος για τον οποίο η ανάγνωση χαρακτήρων χρησιμοποιείται πιο γρήγορα BufferedReader.

Δημιουργήστε ένα BufferedReader

Για να δημιουργήσουμε ένα BufferedReader, πρέπει java.io.BuferedReaderπρώτα να εισαγάγουμε το πακέτο. Μόλις εισαγάγουμε το πακέτο, εδώ είναι πώς μπορούμε να δημιουργήσουμε τον αναγνώστη.

 // Creates a FileReader FileReader file = new FileReader(String file); // Creates a BufferedReader BufferedReader buffer = new BufferedReader(file); 

Στο παραπάνω παράδειγμα, έχουμε δημιουργήσει ένα BufferedReaderόνομα buffer με το FileReaderόνομα του αρχείου.

Εδώ, το εσωτερικό buffer του BufferedReaderέχει το προεπιλεγμένο μέγεθος των 8192 χαρακτήρων. Ωστόσο, μπορούμε επίσης να καθορίσουμε το μέγεθος του εσωτερικού buffer.

 // Creates a BufferdReader with specified size internal buffer BufferedReader buffer = new BufferedReader(file, int size); 

Το buffer θα βοηθήσει στην ανάγνωση χαρακτήρων από τα αρχεία πιο γρήγορα.

Μέθοδοι BufferedReader

Η BufferedReaderτάξη παρέχει εφαρμογές για διαφορετικές μεθόδους που υπάρχουν στο Reader.

read () Μέθοδος

  • read() - διαβάζει έναν μόνο χαρακτήρα από το εσωτερικό buffer του αναγνώστη
  • read(char() array) - διαβάζει τους χαρακτήρες από τον αναγνώστη και αποθηκεύει στον καθορισμένο πίνακα
  • read(char() array, int start, int length) - διαβάζει τον αριθμό των χαρακτήρων ίσο με το μήκος από τον αναγνώστη και αποθηκεύει στον καθορισμένο πίνακα ξεκινώντας από την αρχή της θέσης

Για παράδειγμα, ας υποθέσουμε ότι έχουμε ένα αρχείο με όνομα input.txt με το ακόλουθο περιεχόμενο.

 This is a line of text inside the file. 

Ας προσπαθήσουμε να διαβάσουμε το αρχείο χρησιμοποιώντας BufferedReader.

 import java.io.FileReader; import java.io.BufferedReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a FileReader FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Reads characters input.read(array); System.out.println("Data in the file: "); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Παραγωγή

 Δεδομένα στο αρχείο: Αυτή είναι μια γραμμή κειμένου μέσα στο αρχείο. 

Στο παραπάνω παράδειγμα, έχουμε δημιουργήσει ένα buffer reader που ονομάζεται input. Ο αποθηκευμένος αναγνώστης συνδέεται με το αρχείο input.txt .

 FileReader file = new FileReader("input.txt"); BufferedReader input = new BufferedReader(file); 

Εδώ, χρησιμοποιήσαμε τη read()μέθοδο για να διαβάσουμε έναν πίνακα χαρακτήρων από το εσωτερικό buffer του buffer reader.

παράλειψη () Μέθοδος

Για να απορρίψουμε και να παραλείψουμε τον καθορισμένο αριθμό χαρακτήρων, μπορούμε να χρησιμοποιήσουμε τη skip()μέθοδο. Για παράδειγμα,

 import java.io.FileReader; import java.io.BufferedReader; public class Main ( public static void main(String args()) ( // Creates an array of characters char() array = new char(100); try ( // Suppose, the input.txt file contains the following text // This is a line of text inside the file. FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Skips the 5 characters input.skip(5); // Reads the characters input.read(array); System.out.println("Data after skipping 5 characters:"); System.out.println(array); // closes the reader input.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) ) 

Παραγωγή

 Δεδομένα μετά την παράλειψη 5 χαρακτήρων: είναι μια γραμμή κειμένου μέσα στο αρχείο. 

Στο παραπάνω παράδειγμα, χρησιμοποιήσαμε τη skip()μέθοδο για να παραλείψουμε 5 χαρακτήρες από τον αναγνώστη αρχείων. Ως εκ τούτου, οι χαρακτήρες 'T', 'h', 'i', 's'και ' 'αγνοούνται από το αρχικό αρχείο.

κλείσιμο () Μέθοδος

Για να κλείσουμε το buffer reader, μπορούμε να χρησιμοποιήσουμε τη close()μέθοδο. Μόλις close()κληθεί η μέθοδος, δεν μπορούμε να χρησιμοποιήσουμε τον αναγνώστη για να διαβάσουμε τα δεδομένα.

Άλλες μέθοδοι BufferedReader

Μέθοδος Περιγραφή
ready() ελέγχει εάν η συσκευή ανάγνωσης αρχείων είναι έτοιμη για ανάγνωση
mark() επισημάνετε τη θέση στον αναγνώστη μέχρι την οποία έχουν διαβαστεί τα δεδομένα
reset() επιστρέφει το στοιχείο ελέγχου στο σημείο της συσκευής ανάγνωσης όπου ορίστηκε το σήμα

Για να μάθετε περισσότερα, επισκεφθείτε το Java BufferedReader (επίσημη τεκμηρίωση Java).

ενδιαφέροντα άρθρα...