Σε αυτό το σεμινάριο, θα μάθουμε για το Java StringWriter και τις υποκατηγορίες του με τη βοήθεια παραδειγμάτων.
Η StringWriter
κλάση του java.io
πακέτου μπορεί να χρησιμοποιηθεί για την εγγραφή δεδομένων (σε χαρακτήρες) στο buffer string.
Επεκτείνει την αφηρημένη τάξη Writer
.
Σημείωση : Στην Java, το buffer string θεωρείται ως μεταβλητή συμβολοσειρά. Δηλαδή, μπορούμε να τροποποιήσουμε το buffer string. Για να μετατρέψουμε από το buffer string σε string, μπορούμε να χρησιμοποιήσουμε τη toString()
μέθοδο.
Δημιουργήστε ένα StringWriter
Για να δημιουργήσουμε ένα StringWriter
, πρέπει java.io.StringWriter
πρώτα να εισαγάγουμε το πακέτο. Μόλις εισαγάγουμε το πακέτο εδώ είναι πώς μπορούμε να δημιουργήσουμε το πρόγραμμα δημιουργίας συμβολοσειρών.
// Creates a StringWriter StringWriter output = new StringWriter();
Εδώ, δημιουργήσαμε το πρόγραμμα δημιουργίας συμβολοσειρών με προεπιλεγμένη χωρητικότητα buffer συμβολοσειράς Ωστόσο, μπορούμε επίσης να καθορίσουμε τη χωρητικότητα του buffer string.
// Creates a StringWriter with specified string buffer capacity StringWriter output = new StringWriter(int size);
Εδώ, το μέγεθος καθορίζει τη χωρητικότητα του buffer string.
Μέθοδοι StringWriter
Η StringWriter
τάξη παρέχει υλοποιήσεις για διαφορετικές μεθόδους που υπάρχουν στην Writer
τάξη.
μέθοδος ()
write()
- γράφει έναν μόνο χαρακτήρα στον συγγραφέα συμβολοσειρώνwrite(char() array)
- γράφει τους χαρακτήρες από τον καθορισμένο πίνακα στον συγγραφέαwrite(String data)
- γράφει την καθορισμένη συμβολοσειρά στον συγγραφέα
Παράδειγμα: Java StringWriter
import java.io.StringWriter; public class Main ( public static void main(String() args) ( String data = "This is the text in the string."; try ( // Create a StringWriter with default string buffer capacity StringWriter output = new StringWriter(); // Writes data to the string buffer output.write(data); // Prints the string writer System.out.println("Data in the StringWriter: " + output); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Παραγωγή
Δεδομένα στο StringWriter: Αυτό είναι το κείμενο της συμβολοσειράς.
Στο παραπάνω παράδειγμα, έχουμε δημιουργήσει έναν συγγραφέα συμβολοσειρών που ονομάζεται έξοδος.
StringWriter output = new StringWriter();
Στη συνέχεια, χρησιμοποιούμε τη write()
μέθοδο για να γράψουμε τα δεδομένα συμβολοσειράς στο buffer συμβολοσειρών.
Σημείωση : Χρησιμοποιήσαμε τη toString()
μέθοδο για τη λήψη των δεδομένων εξόδου από το buffer συμβολοσειράς σε μορφή συμβολοσειράς.
Πρόσβαση στα δεδομένα από το StringBuffer
getBuffer()
- επιστρέφει τα δεδομένα που υπάρχουν στο buffer stringtoString()
- επιστρέφει τα δεδομένα που υπάρχουν στο buffer string ως string
Για παράδειγμα,
import java.io.StringWriter; public class Main ( public static void main(String() args) ( String data = "This is the original data"; try ( // Create a StringWriter with default string buffer capacity StringWriter output = new StringWriter(); // Writes data to the string buffer output.write(data); // Returns the string buffer StringBuffer stringBuffer = output.getBuffer(); System.out.println("StringBuffer: " + stringBuffer); // Returns the string buffer in string form String string = output.toString(); System.out.println("String: " + string); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Παραγωγή
StringBuffer: Αυτά είναι τα αρχικά δεδομένα String: Αυτά είναι τα αρχικά δεδομένα
Εδώ χρησιμοποιήσαμε τη getBuffer()
μέθοδο για να εμφανίσουμε τα δεδομένα στο buffer συμβολοσειρών. Και επίσης η μέθοδος toString()
επιστρέφει τα δεδομένα που υπάρχουν στο buffer string ως string.
κλείσιμο () Μέθοδος
Για να κλείσουμε τη συμβολοσειρά, μπορούμε να χρησιμοποιήσουμε τη close()
μέθοδο.
Ωστόσο, η close()
μέθοδος δεν έχει καμία επίδραση στην StringWriter
τάξη. Μπορούμε να χρησιμοποιήσουμε τις μεθόδους αυτής της τάξης ακόμα και μετά την close()
κλήση της μεθόδου.
Άλλες μέθοδοι του StringWriter
Μέθοδος | Περιγραφή |
---|---|
flush() | αναγκάζει να γράψει όλα τα δεδομένα που υπάρχουν στον συγγραφέα στο buffer συμβολοσειρών |
append() | εισάγει τον καθορισμένο χαρακτήρα στον τρέχοντα συγγραφέα |
Για να μάθετε περισσότερα, επισκεφθείτε το Java StringWriter (επίσημη τεκμηρίωση Java).