Σε αυτό το σεμινάριο, θα μάθουμε για το 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).