Last Updated : 18 Apr, 2022
java.io.CharArrayReader class creates a character buffer using a character array.
Declaration:
public class CharArrayReader extends Reader
Constructor :
Methods:
public int read() Parameters : ----------- Return : Returns read character as an integer ranging from range 0 to 65535. -1 : when end of file is reached.
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.
public boolean ready() Parameters : ----------- Return : true if CharArrayReader is ready to be read.
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 occursJava
// 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);
}
}
}
Output :
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
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
public boolean markSupported() Parameters : ------- Return : true if the mark method is supported by the stream Exception : IOException : In case of I/O error occurs
public void reset() Parameters : ------- Return : void Exception : IOException : In case of I/O error occurs
public void close() Parameters : ------- Return : void Exception : IOException : In case of I/O error occursJava
// 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();
}
}
}
Output :
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
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4