ObjectInputStream defaultReadObject() in Java

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

Syntax:

void java.io.ObjectInputStream.defaultReadObject() throws IOException, ClassNotFoundException

This method read the non-static and non-transient fields of the current class from this stream. This may only be called from the readObject method of the class being deserialized.

Parameters: NA

Returns: NA

Throws:

1. ClassNotFoundException - if the class of a serialized object cannot be found.

2. IOException - if an I/O error occurs.

2. NotActiveException - if the stream is not currently reading objects.

Approach

Java

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

public class ObjectInputStreamdefaultReadObject {
    @SuppressWarnings("resource")
    public static void main(String[] args) throws IOException {

        FileInputStream fileStream = new FileInputStream("D:\\hello.txt");
        ObjectInputStream objStream = new ObjectInputStream(fileStream);

        try {
            objStream.defaultReadObject();
            System.out.println("Successfully write default object");
        } catch (ClassNotFoundException e) {
            System.out.println("ClassNotFoundException occurs");
        } catch (IOException e) {
            System.out.println("IOException occurs");
            return;
        }

        objStream.close();

    }
}

Output:

IOException occurs


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.

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.

readChar(): This method reads a 16-bit char.

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