Home »
Java programming language
Java ObjectInputStream readFields() Method with Example
ObjectInputStream Class readFields() method: Here, we are going to learn about the readFields() method of ObjectInputStream Class with its syntax and example.
Submitted by Preeti Jain, on April 04, 2020
ObjectInputStream Class readFields() method
- readFields() method is available in java.io package.
- readFields() method is used to read the permanent fields from this ObjectInputStream make them ready to access by name.
- readFields() method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.
-
readFields() method may throw an exception at the time of reading fields.
- IOException: This exception may throw when getting any input/output error while performing.
- ClassNotFoundException: This exception may throw when the Class serialized objects couldn't exist.
- NotActiveException: This exception may throw when the stream is not active to read objects.
Syntax:
public ObjectInputStream.GetField readFields();
Parameter(s):
- It does not accept any parameter.
Return value:
The return type of the method is ObjectInputStream.GetField, it returns the GetField object that denotes the permanent fields of the object being not serialized.
Example:
// Java program to demonstrate the example
// of ObjectInputStream.GetField readFields()
// method of ObjectInputStream
import java.io.*;
public class ReadFieldsOfOIS {
public static void main(String[] args) throws Exception {
// Instantiates ObjectOutputStream , ObjectInputStream
// FileInputStream and FileOutputStream
FileOutputStream file_out_stm = new FileOutputStream("D:\\includehelp.txt");
ObjectOutputStream obj_out_stm = new ObjectOutputStream(file_out_stm);
FileInputStream file_in_stm = new FileInputStream("D:\\includehelp.txt");
ObjectInputStream obj_in_stm = new ObjectInputStream(file_in_stm);
// By using writeInt() method is to write
// integer to the obj_out_stm stream
obj_out_stm.writeObject(new ReadFields());
obj_out_stm.flush();
// By using readObject() method is to read
// object and display fields
ReadFields rf = (ReadFields) obj_in_stm.readObject();
System.out.println("obj_in_stm.readObject(): " + rf.str);
}
static class ReadFields implements Serializable {
String str = "Java Programming";
private String readObject(ObjectInputStream ois)
throws IOException, ClassNotFoundException {
// Invokes readFields()
ObjectInputStream.GetField get_f = ois.readFields();
// Return fields
return (String) get_f.get("str", null);
}
}
}
Output
obj_in_stm.readObject(): Java Programming