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;
}
}
![java lang InputStreamReader read(char[] cbuf, int offset, int length) example output](https://javatutorialhq.com/wp-content/uploads/2016/02/java-lang-InputStreamReader-readchar-cbuf-int-offset-int-length-example-output.gif)