Reader read(CharBuffer) in Java

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