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