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