Bararrayreader
CharArayReader est un flux d'entrée de tableau de caractères. Il est similaire à BytearrayInputStream, sauf que ByteArrayInputStream est le flux d'entrée du tableau d'octets, tandis que CharArray est le flux d'entrée du tableau de caractères. ChararrayReader est utilisé pour lire un tableau de caractères, qui est hérité du lecteur. Les données de l'opération sont en unités de caractères!
Liste des fonctions CharArayReader:
ChararrayReader (char [] buf) chararrayreader (char [] buf, int offset, int legth) void close () void mark (int readlimit) boolean marksupported () int read () int read (char [] buffer, int offset, int len) boolean ready () Void reset () long skip (long charcount)
Exemple de code:
Pour une utilisation détaillée de l'API dans CharArayReader, reportez-vous à l'exemple de code (chararrayreaderTest.java):
import java.io.charArrayReader; import java.io.charArrayWriter; import java.io.ioException; public class chararrayreaderTest {private static final int len = 5; // correspondant à la lettre anglaise "ABCDEFGHIJKLMNOPQRSTUVWXYZ" Final Static Final Char [] Arraytters = New Char [] {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q' ',' R ',' S ' public static void main (String [] args) {TesCharArrayReader (); } / ** * Fonction de test de l'API CHARARRAYREADER * / Private Static void TesCharArrayReader () {try {// Créer un flux de caractères CharArayReader, le contenu est le Arrayletters Array CharArayReader Car = new CharArrayReader (Arraytters); // Lire 5 caractères du flux Array de caractères pour (int i = 0; i <len; i ++) {// Si vous pouvez continuer à lire le caractère suivant, lisez le caractère suivant if (caryready () == true) {// lire "le caractère suivant du flux de personnage" char tmp = (char) car.read (); System.out.printf ("% d:% c / n", i, tmp); }} // Si "ce flux de caractères" ne prend pas en charge la fonction de taggage, alors sortez if (! Car.MarkSupported ()) {System.out.println ("Make Not SupportEd!"); retour ; } // Marque "La position de lecture suivante dans le flux de caractères". Autrement dit, - Mark "F", parce que 5 caractères ont déjà été lus, la position de lecture suivante est la fonction 6ème caractères "// (01)," Paramètre 0 "dans la fonction Mark (0) de la classe CharArayReader n'a pas de signification pratique. // (02), Mark () et Reset () Assortissant, Reset () sera réinitialisé" la prochaine position de lecture dans le flux "à" la position Saved in the Mark () "); // Skip 5 characters. After skipping 5 characters, the next read value in the character stream should be "k". car.skip(5); // Read 5 data from the character stream. That is, read "klmno" char[] buf = new char[LEN]; car.read(buf, 0, LEN); System.out.printf("buf=%s/n", String.valueOf(buf)); // Reset "Character Stream": c'est-à-dire "la position de lecture suivante dans le flux de caractères" à "la position marquée par Mark (), c'est-à-dire, f. (IoException e) {e.printStackTrace (); }}} Résultats en cours:
0: a1: b2: c3: d4: ebuf = klmnobuf = fghij
Chararraywriter
ChararrayReader est utilisé pour écrire des caractères de données, qui est hérité de l'écrivain. Les données de l'opération sont en unités de caractères!
Liste des fonctions CharArayWriter
Chararraywriter () chararraywriter (int initialSize) chararraywriter apende (CharSequence csq, int start, int fin) chararraywriter annex (char c) chararraywriter annex (charrequence csq) void close () void flush () void réset () int size () char [] tocharArray () string tostring () void wate len) void write (int onechar) void write (String str, int offset, int count) void writeTo (writer out)
Exemple de code:
Pour une utilisation détaillée de l'API dans CharArayWriter, reportez-vous à l'exemple de code (CharArrayWriterTest.java):
import java.io.charArrayReader; import java.io.charArraywriter; import java.io.ioException; public class chararraywriterTest {private static final int len = 5; // correspondant à la lettre anglaise "ABCDEFGHIJKLMNOPQRSTUVWXYZ" Final Static Final Char [] Arraytters = New Char [] {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q' ',' R ',' S ' public static void main (String [] args) {TesCharArrayWriter (); } / ** * Fonction de test de l'API CharArayWriter * / private static void TesCharArrayWriter () {try {// Créer un flux de caractères chararraywriter chararraywriter CAW = new chararraywriter (); // Écrivez "A" des personnages CAW.WRITE ('A'); // Écrivez des caractères "BC" CAW.WRITE ("BC"); //System.out.printf("Caw=%S/n ", CAW); // Écrivez les 5 derniers caractères (DEFGH) à partir de "3" dans le tableau des Arraytters à CAW. CAW.WRITE (Arraytters, 3, 5); //System.out.printf("Caw=%S/n ", CAW); // (01) Écrivez le caractère 0 // (02) puis écrivez "123456789" // (03) puis écrivez les caractères 8-12 dans Arrayletters (IJKL) CAW.APPEND ('0'). APPEND ("123456789"). System.out.printf ("CAW =% S / N", CAW); // Calculer la longueur int size = CAW.Size (); System.out.printf ("Size =% S / N", taille); // Convertir en octet [] array char [] buf = CAW.toCharArray (); System.out.printf ("buf =% s / n", string.valueof (buf)); // Écrivez CAW dans un autre flux de sortie CharArayWriter CAW2 = new CharArrayWriter (); CAW.WRITETO (CAW2); System.out.printf ("CAW2 =% S / N", CAW2); } catch (ioException e) {e.printStackTrace (); }}} Résultats en cours:
CAW = ABCDEFGH0123456789IJKLSIZE = 22BUF = ABCDEFGH0123456789IJKLCAW2 = ABCDEFGH0123456789IJKL