ChararrayReader
ChararrayReader - это поток ввода массива символов. Он похож на Bytearrayinptstream, за исключением того, что Bytearrayinptstream является входным потоком байтового массива, в то время как Chararray является входным потоком массива символов. ChararrayReader используется для чтения массива символов, который унаследован от читателя. Данные операции приведены в единицах символов!
Список функций ChararrayReader:
ChararrayReader (char [] buf) chararrayreader (char [] buf, int offset, int length) void close () void mark (int readlimit) boolean marksupported () int read () int Read (char [] buffer, int смещение, int len) boolean reate () void scip () Long Skip (Long Charcount)
Пример кода:
Для получения подробного использования API в ChararrayReader, см. Пример кода (chararrayreadertest.java):
Импорт java.io.chararrayreader; import java.io.chararraywriter; import java.io.ioexception; public class chararrayreadertest {private static final int len = 5; // Соответствует английскому письму "AbcdefghijklmnopqrStuvwxyz" Частный статический финальный char [] arrayletters = new char [] {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'w' w ',' x ',' 'x', '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' 'z public static void main (string [] args) {tescharrarayReader (); } / *** ChararrayReader API Функция тестирования* / private static void tescharrarayreader () {try {// Создать поток символов ChararrayReader, содержимое - Arrayletters Array ChararrayReader Car = new ChararrayReader (Arrayletters); // Читать 5 символов из потока массива символов для (int i = 0; i <len; i ++) {// Если вы можете продолжить читать следующий символ, прочитайте следующий символ if (car.ready () == true) {// Читать «Следующий символ символа потока» char tmp = (char) car.read (); System.out.printf (" %d: %c/n", i, tmp); }} // Если «этот поток символов» не поддерживает функцию тега, то выходите if (! Car.marksupported ()) {System.out.println ("сделать не поддерживается!"); возвращаться ; } // Отметьте «Следующая позиция чтения в потоке символов». То есть - отметьте «F», потому что 5 символов были прочитаны ранее, следующая позиция чтения - это 6 -й символ «// (01),« Параметр 0 »в функции Mark (0) класса ChararrayReader не имеет практического значения. // (02), Mark () и сброс () соответствуют (), сброс () сброс (), сброс), будет сбросить () Cared Position, чтобы (Saved Posited в« сохраненной позиции »()« Сохраненная позиция »()« Сохраненная позиция »(); 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 Поток ": то есть сбросить" следующее положение чтения в потоке символов "в« позицию, помеченную Mark () », то есть f. car.reset (); // Читать 5 символов из« Сбросано -потока символов »в buf. То есть чтение« fghij »car.read (buf, 0, len); System.out.printf (buf =%s/n», string. vtring. (IoException e) {e.printstacktrace (); }}} Результаты работы:
0: A1: B2: C3: D4: ebuf = klmnobuf = fghij
Chararraywriter
ChararrayReader используется для написания символов данных, которые унаследованы от писателя. Данные операции приведены в единицах символов!
Список функций ChararrayWriter
Chararraywriter () chararraywriter (int initialsize) chararraywriter Приложение (ChareSectence CSQ, Int Start, int End) ChararrayWriter Приложение (char c) chararraywriter Приложение (charequence csq) void close () void flush Len) void write (int onechar) void write (string str, int offset, int count) void writeto (писатель)
Пример кода:
Для получения подробного использования API в ChararrayWriter, см. Пример кода (chararraywritertest.java):
Импорт java.io.chararrayreader; импорт java.io.chararraywriter; импорт java.io.ioexception; public class chararraywritertest {private Static final int len = 5; // Соответствует английскому письму "AbcdefghijklmnopqrStuvwxyz" Частный статический финальный char [] arrayletters = new char [] {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'w' w ',' x ',' 'x', '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' 'z public static void main (string [] args) {tescharraraywriter (); } / *** Функция теста API ChararrayWriter* / private static void tescharraraywriter () {try {// Создание потока символов ChararrayWriter ChararrayWriter caw = new ChararrayWriter (); // написать "а" символы caw.write ('a'); // написать символы "bc" caw.write ("bc"); //System.out.printf("caw=%S/n ", caw); // Напишите последние 5 символов (DEFGH) из «3» в массиве Arrayletters до CAW. caw.write (Arrayletters, 3, 5); //System.out.printf("caw=%S/n ", caw); // (01) Символ записи 0 // (02) Затем напишите «123456789» // (03) Затем напишите символы 8-12 в Arrayletters (ijkl) caw.append ('0'). Append ("123456789"). Append (String.valueof (Arrayletters), 8, 12); System.out.printf ("caw =%s/n", caw); // Рассчитать длину int size = caw.size (); System.out.printf ("size =%s/n", size); // преобразовать в байт [] массив char [] buf = caw.tochararray (); System.out.printf ("buf =%s/n", string.valueof (buf)); // Напишите CAW в другой выходной поток ChararrayWriter CAW2 = new ChararrayWriter (); caw.writeto (CAW2); System.out.printf ("caw2 =%s/n", caw2); } catch (ioException e) {e.printstackTrace (); }}} Результаты работы:
CAW = ABCDEFGH0123456789IJKLSIZE = 22BUF = ABCDEFGH0123456789IJKLCAW2 = ABCDEFGH0123456789IJKL