ObjectInputStream readFields() in Java

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

Syntax:

GetField java.io.ObjectInputStream.readFields() throws IOException, ClassNotFoundException

This method reads the persistent fields from the stream and makes them available by name.

Parameters: NA

Returns: the GetField object represents the persistent fields of the object being deserialized.

Throws:

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

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

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

Approach

Java

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

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

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

        try {
            System.out.println(objectInputStream.readFields());
        } catch (ClassNotFoundException e) {
            System.out.println("ClassNotFoundException occurs");
        } catch (NotActiveException e) {
            System.out.println("NotActiveException occurs");
        } catch (IOException e) {
            System.out.println("IOException occurs");
        }
        objectInputStream.close();

    }
}

Output:

NotActiveException 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.

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.

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

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

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