read(char[], int, int): This method is available in the java.io.InputStreamReader class of Java.
Syntax:
int java.io.InputStreamReader.read(char[] cbuf, int offset, int length) throws IOException
This method takes three arguments. This method reads characters into a portion of an array.
Parameters: Three parameters are required for this method.
cbuf: Destination buffer.
offset: Offset at which to start storing characters.
length: Maximum number of characters to read.
Returns: The number of characters reads, or -1 if the end of the stream has been reached.
Throws:
1. IOException - If an I/O error occurs.
2. IndexOutOfBoundsException - If off is negative, or len is negative, or len is greater than cbuf.length - off
3. NullPointerException - if cbuf is null.
Approach 1: When no exception
Java
import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;public class InputStreamReaderread2 {public static void main(String[] args) throws IOException {File file = new File("D:\\hello.txt");InputStream in = new FileInputStream(file);InputStreamReader inputStreamReader = new InputStreamReader(in);char cbuf[] = { 'a', 'b', 'c', 'd', 'e' };int offset = 0, length = 3;try {System.out.println(inputStreamReader.read(cbuf, offset, length));} catch (NullPointerException e) {System.out.println("NullPointerException occurs");} catch (IndexOutOfBoundsException e) {System.out.println("IndexOutOfBoundsException occurs");} catch (IOException e) {System.out.println("IOException occurs");}inputStreamReader.close();}}
Output:
-1
Approach 2: IOException
Java
import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;public class InputStreamReaderread2 {public static void main(String[] args) throws IOException {File file = new File("D:\\hello.txt");InputStream in = new FileInputStream(file);InputStreamReader inputStreamReader = new InputStreamReader(in);char cbuf[] = { 'a', 'b', 'c', 'd', 'e' };int offset = 0, length = 3;inputStreamReader.close();try {System.out.println(inputStreamReader.read(cbuf, offset, length));} catch (NullPointerException e) {System.out.println("NullPointerException occurs");} catch (IndexOutOfBoundsException e) {System.out.println("IndexOutOfBoundsException occurs");} catch (IOException e) {System.out.println("IOException occurs");}}}
Output:
IOException occurs
Approach 3: IndexOutOfBoundsException
Java
import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;public class InputStreamReaderread2 {public static void main(String[] args) throws IOException {File file = new File("D:\\hello.txt");InputStream in = new FileInputStream(file);InputStreamReader inputStreamReader = new InputStreamReader(in);char cbuf[] = { 'a', 'b', 'c', 'd', 'e' };int offset = 0, length = 13;try {System.out.println(inputStreamReader.read(cbuf, offset, length));} catch (NullPointerException e) {System.out.println("NullPointerException occurs");} catch (IndexOutOfBoundsException e) {System.out.println("IndexOutOfBoundsException occurs");} catch (IOException e) {System.out.println("IOException occurs");}inputStreamReader.close();}}
Output:
IndexOutOfBoundsException occurs
Approach 4: NullPointerException
Java
import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;public class InputStreamReaderread2 {public static void main(String[] args) throws IOException {File file = new File("D:\\hello.txt");InputStream in = new FileInputStream(file);InputStreamReader inputStreamReader = new InputStreamReader(in);char cbuf[] = null;int offset = 0, length = 3;try {System.out.println(inputStreamReader.read(cbuf, offset, length));} catch (NullPointerException e) {System.out.println("NullPointerException occurs");} catch (IndexOutOfBoundsException e) {System.out.println("IndexOutOfBoundsException occurs");} catch (IOException e) {System.out.println("IOException occurs");}inputStreamReader.close();}}
Output:
NullPointerException occurs
Some more methods of InputStreamReader
close(): This method closes the stream and releases any system resources associated with it.
InputStreamReader(InputStream): This method creates an InputStreamReader that uses the default charset.
InputStreamReader(InputStream, Charset): This method creates an InputStreamReader that uses the given charset.
InputStreamReader(InputStream, CharsetDecoder): This method creates an InputStreamReader that uses the given charset decoder.
InputStreamReader(InputStream, String): This method creates an InputStreamReader that uses the named charset.
getEncoding(): This method returns the name of the character encoding being used by this stream.
read(): This method reads a single character.
ready(): This method tells whether this stream is ready to be read.
No comments:
Post a Comment