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


Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.