ObjectInputStream readChar() in Java

readChar(): This method is available in the java.io.ObjectInputStream class of Java.

Syntax:

char java.io.ObjectInputStream.readChar() throws IOException

This method reads a 16-bit char.

Parameters: NA

Returns: the 16-bit char read.

Throws:

1. EOFException - If the end of the file is reached.

2. IOException - If an I/O error has occurred.

Approach 1: When no exception

Java

import java.io.EOFException;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;

public class ObjectInputStreamreadChar {
    public static void main(String[] args) throws IOException {

        InputStream in = new FileInputStream("D:\\hello.txt");
        ObjectInputStream objectInputStream = new ObjectInputStream(in);

        try {
            objectInputStream.readChar();
            System.out.println("Successfully read a char");
        } catch (EOFException e) {
            System.out.println("end of file");
        }
        objectInputStream.close();

    }
}

Output:

Successfully read a char


Approach 2: EOFException

Java

import java.io.EOFException;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;

public class ObjectInputStreamreadChar {
    public static void main(String[] args) throws IOException {

        InputStream in = new FileInputStream("D:\\hello.txt");
        ObjectInputStream objectInputStream = new ObjectInputStream(in);

        objectInputStream.close();
        try {
            objectInputStream.readChar();
            System.out.println("Successfully read a char");
        } catch (EOFException e) {
            System.out.println("end of file");
        }

    }
}

Output:

end of file


Some more methods of ObjectInputStream

available(): This method returns the number of bytes that can be read without blocking.

close(): This method closes the input stream. Must be called to release any resources associated with the stream.

defaultReadObject(): This method read the non-static and non-transient fields of the current class from this stream.

getObjectInputFilter(): This method returns the serialization filter for this stream.

read(): This method reads a byte of data.

read(byte[], int, int): This method reads into an array of bytes.

readBoolean(): This method reads in a boolean.

readByte(): This method reads an 8-bit byte.

readDouble(): This method reads a 64-bit double.

readFields(): This method reads the persistent fields from the stream and makes them available by name.

readFloat(): This method reads a 32-bit float.

readFully(byte[]): This method reads bytes, blocking until all bytes are read.

readFully(byte[], int, int): This method reads bytes, blocking until all bytes are read.

readInt(): This method reads a 32-bit int.

readLong(): This method reads 64-bit long.

readObject(): This method read an object from the ObjectInputStream.

readShort(): This method reads a 16-bit short.

readUnshared(): This method reads an "unshared" object from the ObjectInputStream.

readUnsignedByte(): This method reads an unsigned 8-bit byte.

readUnsignedShort(): This method reads an unsigned 16-bit short.

readUTF(): This method reads a String in modified UTF-8 format.

registerValidation(ObjectInputValidation, int): This method registers an object to be validated before the graph is returned.

setObjectInputFilter(ObjectInputFilter): This method set the serialization filter for the stream.

skipBytes(int): This method skips bytes.


No comments:

Post a Comment