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

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

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

Επεκτείνει την OutputStreamWriterτάξη.

Πριν μάθετε περισσότερα για FileWriter, φροντίστε να γνωρίζετε για το αρχείο Java.

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

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

1. Χρησιμοποιώντας το όνομα του αρχείου

 FileWriter output = new FileWriter(String name); 

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

2. Χρήση ενός αντικειμένου του αρχείου

 FileWriter input = new FileWriter(File fileObj); 

Εδώ, δημιουργήσαμε ένα πρόγραμμα εγγραφής αρχείων που θα συνδεθεί με το αρχείο που καθορίζεται από το αντικείμενο του αρχείου.

Στο παραπάνω παράδειγμα, τα δεδομένα αποθηκεύονται χρησιμοποιώντας κάποια προεπιλεγμένη κωδικοποίηση χαρακτήρων.

Ωστόσο, από την Java 11 μπορούμε επίσης να καθορίσουμε τον τύπο κωδικοποίησης χαρακτήρων ( UTF8 ή UTF16 ).

 FileWriter input = new FileWriter(String file, Charset cs); 

Εδώ, χρησιμοποιήσαμε την Charsetκλάση για να καθορίσουμε την κωδικοποίηση χαρακτήρων του συντάκτη αρχείων.

Μέθοδοι του FileWriter

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

μέθοδος ()

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

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

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

Στο παραπάνω παράδειγμα, έχουμε δημιουργήσει ένα πρόγραμμα δημιουργίας αρχείων που ονομάζεται έξοδος. Ο αναγνώστης εξόδου συνδέεται με το αρχείο output.txt .

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

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

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

 This is a line of text inside the file. 

getEncoding () Μέθοδος

Η getEncoding()μέθοδος μπορεί να χρησιμοποιηθεί για να πάρει τον τύπο κωδικοποίησης που χρησιμοποιείται για την εγγραφή δεδομένων. Για παράδειγμα,

 import java.io.FileWriter; import java.nio.charset.Charset; class Main ( public static void main(String() args) ( String file = "output.txt"; try ( // Creates a FileReader with default encoding FileWriter output1 = new FileWriter(file); // Creates a FileReader specifying the encoding FileWriter output2 = new FileWriter(file, Charset.forName("UTF8")); // Returns the character encoding of the reader System.out.println("Character encoding of output1: " + output1.getEncoding()); System.out.println("Character encoding of output2: " + output2.getEncoding()); // Closes the reader output1.close(); output2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Παραγωγή

 Η κωδικοποίηση χαρακτήρων της εξόδου 1: Cp1252 Η κωδικοποίηση χαρακτήρων της εξόδου 2: UTF8 

Στο παραπάνω παράδειγμα, έχουμε δημιουργήσει 2 συγγραφείς αρχείων με όνομα output1 και output2.

  • Το output1 δεν καθορίζει την κωδικοποίηση χαρακτήρων. Εξ ου και η getEncoding()μέθοδος επιστρέφει την προεπιλεγμένη κωδικοποίηση χαρακτήρων.
  • Το output2 καθορίζει την κωδικοποίηση χαρακτήρων, UTF8 . Εξ ου και η getEncoding()μέθοδος επιστρέφει την καθορισμένη κωδικοποίηση χαρακτήρων.

Σημείωση : Χρησιμοποιήσαμε τη Charset.forName()μέθοδο για να καθορίσουμε τον τύπο κωδικοποίησης χαρακτήρων. Για να μάθετε περισσότερα, επισκεφθείτε το Java Charset (επίσημη τεκμηρίωση Java).

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

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

Άλλες μέθοδοι του FileWriter

Μέθοδος Περιγραφή
flush() αναγκάζει να γράψει όλα τα δεδομένα που υπάρχουν στον συγγραφέα στον αντίστοιχο προορισμό
append() εισάγει τον καθορισμένο χαρακτήρα στον τρέχοντα συγγραφέα

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

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