java.io.InputStreamReader read(char[] cbuf, int offset, int length)
Description
Specified by:
read in class Reader
Throws:
- IOException – If an I/O error occurs
Method Syntax
public int read(char[] cbuf, int offset, int length)
throws IOException
Method Argument
Data Type | Parameter | Description |
---|---|---|
char[] | cbuf | Destination buffer |
int | offset | Offset at which to start storing characters |
int | length | Maximum number of characters to read |
Method Returns
This method returns an int which denotes the number of characters read, or -1 if the end of the stream has been reached.
Compatibility
Requires Java 1.2 and up
Java InputStreamReader read(char[] cbuf, int offset, int length) Example
Below is a java code demonstrates the use of read(char[] cbuf, int offset, int length) method of InputStreamReader class. The example presented might be simple however it shows the behaviour of the read(char[] cbuf, int offset, int length) method of InputStreamReader class.
package com.javatutorialhq.java.examples; import java.io.IOException; import java.io.InputStreamReader; /* * This example source code demonstrates the use of * read(char[] cbuf, int offset, int length) method * of InputStreamReader class */ public class InputStreamReaderReadCbufOffsetExample { // make sure to mark this as static static InputStreamReader is=null; public static void main(String[] args) { // ask for user first name as console input System.out.print("Enter FirstName:"); // get the console input as String variable String firstName=getValue(); // ask for user last name as console input System.out.print("Enter LastName:"); // get the console input as String variable String lastName=getValue(); // display a welcome message System.out.println("Welcome "+firstName+" "+lastName); try { // closing the inputStreamReader is.close(); } catch (IOException e) { e.printStackTrace(); } } public static String getValue(){ // initialize a InputStreamReader is = new InputStreamReader(System.in); // initialize placeholder variable char[] buffer=new char[100]; // initialize return string value String value=""; try { // read console input // the reader starts getting character at index 0 // and the length of which is defined by the index size // of the buffer is.read(buffer, 0, buffer.length); // be careful for exception // since the buffer contains blank spaces // we have to filter it out for(char cbuf:buffer){ // filter for blank space if((int)cbuf!=0 && (int)cbuf!=10 && (int)cbuf!=13){ value=value+cbuf; } } } catch (IOException e) { e.printStackTrace(); } return value; } }