read(CharBuffer): This method is available in the java.io.Reader class of Java.
Syntax:
int java.io.Reader.read(CharBuffer target) throws IOException
This method takes one argument. This method attempts to read characters into the specified character buffer.
The buffer is used as a repository of characters as-is: the only changes made are the results of a put operation. No flipping or rewinding of the buffer is performed.
Parameters: One parameter is required for this method.
target: the buffer to read characters into.
Returns: The number of characters added to the buffer, or-1 if this source of characters is at its end.
Throws:
1. IOException - if an I/O error occurs.
2. NullPointerException - if the target is null.
3. java.nio.ReadOnlyBufferException - if the target is a read-only buffer.
Approach 1: When no exception
Java
import java.io.IOException;import java.io.Reader;import java.io.StringReader;import java.nio.CharBuffer;public class Readerread3 {public static void main(String[] args) throws IOException {Reader reader = new StringReader("HELLO");CharBuffer target = CharBuffer.allocate(100);System.out.println(reader.read(target));reader.close();}}
Output:
5
Approach 2: IOException
Java
package com.Reader;import java.io.IOException;import java.io.Reader;import java.io.StringReader;import java.nio.CharBuffer;public class Readerread3 {public static void main(String[] args) throws IOException {Reader reader = new StringReader("HELLO");CharBuffer target = CharBuffer.allocate(100);reader.close();System.out.println(reader.read(target));}}
Output:
Exception in thread "main" java.io.IOException: Stream closed at java.base/java.io.StringReader.ensureOpen(StringReader.java:56) at java.base/java.io.StringReader.read(StringReader.java:91) at java.base/java.io.Reader.read(Reader.java:189) at com.Reader.Readerread3.main(Readerread3.java:16)
Approach 3: NullPointerException
Java
package com.Reader;import java.io.IOException;import java.io.Reader;import java.io.StringReader;import java.nio.CharBuffer;public class Readerread3 {public static void main(String[] args) throws IOException {Reader reader = new StringReader("HELLO");CharBuffer target = null;System.out.println(reader.read(target));reader.close();}}
Output:
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "java.nio.CharBuffer.remaining()" because "target" is null at java.base/java.io.Reader.read(Reader.java:187) at com.Reader.Readerread3.main(Readerread3.java:15)
Some other methods of Reader
close(): This method closes the stream and releases any system resources associated with it.
mark(int): This method marks the present position in the stream.
markSupported(): This method tells whether this stream supports the mark() operation.
Reader.nullReader(): This method returns a new Reader that reads no characters.
read(): This method reads a single character.
read(char[]): This method reads characters into an array.
read(CharBuffer): This method attempts to read characters into the specified character buffer.
read(char[], int, int): This method reads characters into a portion of an array.
ready(): This method tells whether this stream is ready to be read.
reset(): This method resets the stream.
skip(long): This method skips characters.
transferTo(Writer): This method reads all characters from this reader and writes the characters to the given writer in the order that they are read.
No comments:
Post a Comment