ObjectInputStream defaultReadObject() method in Java with examples - GeeksforGeeks

05 Jun, 2020
The defaultReadObject() method of the ObjectInputStream class in Java is used to read the non-static and non-transient fields of the current class from this stream.
Syntax:
public void defaultReadObject()

Parameters: This method does not accept any parameter.
Return Value: This method returns the value that has been read.
Errors and Exceptions: The function throws three exceptions which is described below:
ClassNotFoundException: The exception is thrown if the class of a serialized object could not be found.
IOException: The exception is thrown if an I/O error has occurred.
NotActiveException: The exception is thrown if the stream is not currently reading objects.
Below program illustrate the above method:
Program 1:
Java
// Java program to illustrate// the above method  import java.io.*;  public class GFG {    public static void main(String[] args)    {        try {            // create a new file            // with an ObjectOutputStream            FileOutputStream out                = new FileOutputStream("Shubham.txt");            ObjectOutputStream out1                = new ObjectOutputStream(out);              // write            out1.writeObject(new solve());              // Flushes the stream            out1.flush();              // create an ObjectInputStream            // for the file            ObjectInputStream example                = new ObjectInputStream(                    new FileInputStream("Shubham.txt"));              // Read from the stream            solve ans = (solve)example.readObject();            System.out.println(ans.str);        }          catch (Exception ex) {            ex.printStackTrace();        }    }      static class solve implements Serializable {        String str = "Geeksforgeeks";          private void readObject(ObjectInputStream res)            throws IOException,                   ClassNotFoundException        {              // By using defaultReadObject() method is            // to read non-static fields of the present            // class from the ObjectInputStream            res.defaultReadObject();        }    }}
Output:
Program 2:
Java
// Java program to illustrate// the above method  import java.io.*;  public class GFG {    public static void main(String[] args)    {        try {            // create a new file            // with an ObjectOutputStream            FileOutputStream out                = new FileOutputStream("Shubham.txt");            ObjectOutputStream out1                = new ObjectOutputStream(out);              // write            out1.writeObject(new solve());              // Flushes the stream            out1.flush();              // create an ObjectInputStream            // for the file            ObjectInputStream example                = new ObjectInputStream(                    new FileInputStream("Shubham.txt"));              // Read from the stream            solve ans = (solve)example.readObject();            // System.out.println(ans.str);            System.out.println(ans.in);        }          catch (Exception ex) {            ex.printStackTrace();        }    }      static class solve implements Serializable {          // String str = "Geeksforgeeks";        Integer in = new Integer(112414);          private void readObject(ObjectInputStream res)            throws IOException,                   ClassNotFoundException        {            // By using defaultReadObject() method is            // to read non-static fields of the present            // class from the ObjectInputStream            res.defaultReadObject();        }    }}
Output:
Reference:
https://docs.oracle.com/javase/10/docs/api/java/io/ObjectInputStream.html#defaultReadObject()
Java-Functions
Java-IO package
Java
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Stream In Java
Constructors in Java
Different ways of Reading a text file in Java
Exceptions in Java
Functional Interfaces in Java
Generics in Java
Comparator Interface in Java with Examples
Introduction to Java
HashMap get() Method in Java
Strings in Java