La clase java.io.CharArrayReader crea un búfer de caracteres utilizando una array de caracteres.
Declaración:
public class CharArrayReader extends Reader
Constructor:
- CharArrayReader(char[] char_array) : Crea un CharArrayReader a partir de una array de caracteres específica.
- CharArrayReader(char[] char_array, int offset, int maxlen) : crea un CharArrayReader a partir de una parte específica de la array de caracteres.
Métodos:
- read() : java.io.CharArrayReader.read() lee un solo carácter y devuelve -1 si se alcanza el final de la secuencia.
Sintaxis:
public int read() Parameters : ----------- Return : Returns read character as an integer ranging from range 0 to 65535. -1 : when end of file is reached.
- read(char[] char_array, int offset, int maxlen) : java.io.CharArrayReader.read(char[] char_array, int offset, int maxlen)) lee un solo carácter y devuelve -1 si se alcanza el final de la secuencia
Sintaxis :
public int read(char[] char_array, int offset, int maxlen)) Parameters : char_array : destination array offset : starting position from where to store characters maxlen : maximum no. of characters to be read Return : Returns all the characters read -1 : when end of file is reached.
- ready() : java.io.CharArrayReader.ready() comprueba si el Stream está listo para ser leído o no.
CharArrayReader siempre están listos para ser leídos.
Sintaxis:
public boolean ready() Parameters : ----------- Return : true if CharArrayReader is ready to be read.
- skip(long char) : java.io.CharArrayReader.skip(long char_no) salta ‘char_no’ no. de personajes Si n es negativo, entonces este método no hace nada y devuelve 0.
Sintaxis:
public long skip(long char) Parameters : char_no : char no. of characters to be skipped Return : no. of characters skipped Exception : IOException : In case of I/O error occurs
Java
// Java program illustrating the working of CharArrayReader class methods // read(), skip(), ready() // read(char[] char_array, int offset, int maxlen) import java.io.*; public class NewClass { public static void main(String[] args) throws IOException { // Initializing the character array char[] geek = {'G', 'E', 'E', 'K', 'S'}; // Initializing the char_array CharArrayReader char_array1 = new CharArrayReader(geek); CharArrayReader char_array2 = new CharArrayReader(geek); // Use of ready() method boolean check1 = char_array1.ready(); if(check1 ==true) System.out.println("char_array1 is ready"); else System.out.println("char_array1 is not ready"); int a = 0; System.out.print("Use of read() method : "); // Use of read() method : reading each character one by one while((a = char_array1.read()) != -1) { char c1 = (char)a; System.out.println(c1); // Use of skip() method long char_no = char_array1.skip(1); System.out.println("Characters Skipped : "+(c1+1)); } System.out.println(""); // Use of ready() method boolean check2 = char_array2.ready(); if(check2 ==true) System.out.println("char_array2 is ready"); else System.out.println("char_array2 is not ready"); // Use of read(char[] char_array, int offset, int maxlen) : reading a part of array char_array2.read(geek, 1, 2); int b = 0; System.out.print("Use of read(char[] char_array, int offset, int maxlen) method : "); while((b = char_array2.read()) != -1) { char c2 = (char)b; System.out.print(c2); } } }
Producción :
char_array1 is ready Use of read() method : G Characters Skipped : 72 E Characters Skipped : 70 S Characters Skipped : 84 char_array2 is ready Use of read(char[] char_array, int offset, int maxlen) method : EKS
- mark(int readLimit) : java.io.CharArrayReader.mark(int readLimit) marca la posición actual en el Stream hasta el cual se puede leer el carácter. Este método siempre invoca el método reset(). Las llamadas subsiguientes a reset() reposicionarán la transmisión a este punto.
Sintaxis:
public long mark(int readLimit) Parameters : readLimit : No. of characters that can be read up to the mark Return : void Exception : IOException : In case of I/O error occurs
- markSupported() : java.io.CharArrayReader.markSupported() indica si el flujo admite o no el método de marca.
Sintaxis:
public boolean markSupported() Parameters : ------- Return : true if the mark method is supported by the stream Exception : IOException : In case of I/O error occurs
- reset() : java.io.CharArrayReader.reset() Restablece la secuencia a la marca más reciente o al principio si nunca se ha marcado.
Sintaxis:
public void reset() Parameters : ------- Return : void Exception : IOException : In case of I/O error occurs
- close() : java.io.CharArrayReader.close() cierra la transmisión y reasigna los recursos que se le asignaron.
Sintaxis:
public void close() Parameters : ------- Return : void Exception : IOException : In case of I/O error occurs
Java
// Java program illustrating the working of FilterInputStream method // mark(), reset() // markSupported(), close() import java.io.*; public class NewClass { public static void main(String[] args) throws Exception { // Initializing CharArrayReader CharArrayReader char_array = null; char[] geek = {'H', 'E', 'L', 'L', 'O', 'G', 'E', 'E', 'K', 'S'}; try { char_array = new CharArrayReader(geek); // read() method : reading and printing Characters // one by one System.out.println("Char : "+(char)char_array.read()); System.out.println("Char : "+(char)char_array.read()); System.out.println("Char : "+(char)char_array.read()); // mark() : read limiting the 'geek' input stream char_array.mark(0); System.out.println("mark() method comes to play"); System.out.println("Char : "+(char)char_array.read()); System.out.println("Char : "+(char)char_array.read()); System.out.println("Char : "+(char)char_array.read()); // Use of markSupported() : boolean check = char_array.markSupported(); if (check == true ) System.out.println("mark() supported\n"); if (char_array.markSupported()) { // reset() method : repositioning the stream to // marked positions. char_array.reset(); System.out.println("reset() invoked"); System.out.println("Char : "+(char)char_array.read()); System.out.println("Char : "+(char)char_array.read()); } else System.out.println("mark() method not supported."); } catch(Exception excpt) { // in case of I/O error excpt.printStackTrace(); } finally { // Use of close() : releasing the resources back to the // GarbageCollector when closes if(char_array != null) char_array.close(); } } }
Producción :
Char : H Char : E Char : L mark() method comes to play Char : L Char : O Char : G mark() supported reset() invoked Char : L Char : O
Este artículo es una contribución de . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA