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

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

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

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

Εργασία του BufferedWriter

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

Κατά τη λειτουργία εγγραφής, οι χαρακτήρες γράφονται στο εσωτερικό buffer αντί για το δίσκο. Μόλις γεμίσει το buffer ή κλείσει ο συγγραφέας, ολόκληροι οι χαρακτήρες στο buffer γράφονται στο δίσκο.

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

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

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

 // Creates a FileWriter FileWriter file = new FileWriter(String name); // Creates a BufferedWriter BufferedWriter buffer = new BufferedWriter(file); 

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

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

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

Το buffer θα σας βοηθήσει να γράψετε χαρακτήρες στα αρχεία πιο αποτελεσματικά.

Μέθοδοι BufferedWriter

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

μέθοδος ()

  • write() - γράφει έναν μόνο χαρακτήρα στο εσωτερικό buffer του συγγραφέα
  • write(char() array) - γράφει τους χαρακτήρες από τον καθορισμένο πίνακα στον συγγραφέα
  • write(String data) - γράφει την καθορισμένη συμβολοσειρά στον συγγραφέα

Παράδειγμα: BufferedWriter για εγγραφή δεδομένων σε αρχείο

 import java.io.FileWriter; import java.io.BufferedWriter; public class Main ( public static void main(String args()) ( String data = "This is the data in the output file"; try ( // Creates a FileWriter FileWriter file = new FileWriter("output.txt"); // Creates a BufferedWriter BufferedWriter output = new BufferedWriter(file); // Writes the string to the file output.write(data); // Closes the writer output.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) ) 

Στο παραπάνω παράδειγμα, δημιουργήσαμε ένα buffer συγγραφέα που ονομάζεται έξοδος μαζί με FileWriter. Το buffer author συνδέεται με το αρχείο output.txt .

 FileWriter file = new FileWriter("output.txt"); BufferedWriter output = new BufferedWriter(file); 

Για να γράψουμε δεδομένα στο αρχείο, χρησιμοποιήσαμε τη write()μέθοδο.

Εδώ όταν εκτελούμε το πρόγραμμα, το αρχείο output.txt είναι γεμάτο με το ακόλουθο περιεχόμενο.

 This is a line of text inside the file. 

flush () Μέθοδος

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

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

 import java.io.FileWriter; import java.io.BufferedWriter; public class Main ( public static void main(String() args) ( String data = "This is a demo of the flush method"; try ( // Creates a FileWriter FileWriter file = new FileWriter(" flush.txt"); // Creates a BufferedWriter BufferedWriter output = new BufferedWriter(file); // Writes data to the file output.write(data); // Flushes data to the destination output.flush(); System.out.println("Data is flushed to the file."); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Παραγωγή

 Τα δεδομένα μεταφέρονται στο αρχείο. 

Όταν εκτελούμε το πρόγραμμα, το αρχείο output.txt γεμίζει με το κείμενο που αντιπροσωπεύεται από τα δεδομένα συμβολοσειράς.

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

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

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

Μέθοδος Περιγραφή
newLine() εισάγει μια νέα γραμμή στον συγγραφέα
append() εισάγει τον καθορισμένο χαρακτήρα στον τρέχοντα συγγραφέα

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

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