Deserializing an Object in java

Here, you will learn how to De-serialize the Java object. This means, converting the serialized object into in-memory java object.

Deserializing an Object in java

Here, you will learn how to De-serialize the Java object. This means, converting the serialized object into in-memory java object.

Deserializing an Object in java

Deserializing an Object in java

     

Introduction

The opposite operation of the serialization is called deserialization i.e. to extract the data from a series of bytes is s known as deserialization which is also called inflating or unmarshalling.

The given program shows how to read any data or contents from the serialized object or file. It takes a file name and then converts into java object. If any exception occurs during reading the serialized file, it is caught in the catch block.

ObjectInputStream extends java.io.InputStream and  implements ObjectInput  interface. It deserializes objects, arrays, and other values from an input stream. Thus the constructor of  ObjectInputStream is written as:

ObjectInputStream obj = new ObjectInputStream(new FileInputStream(f));


Above code of the program creates the instance of the ObjectInputStream class to deserialize that file which had been serialized by the ObjectInputStream class. The above code creates the instance using the instance of the FileInputStream class which holds the specified file object which has to be deserialized because the ObjectInputStream() constructor needs the input stream.

readObject()::

Method readObject( ) reads the object and restore the state of the object. This is the method of the ObjectInputStream class that helps to traverse the object.

Here is a code of program :

import java.io.*;

  public class DeserializingObject{

  public static void main(String[] argsthrows IOException{
  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  System.out.print("Enter File name : ");
 
  
String file = in.readLine();
  
  
System.out.print("Enter extention : ");
 
  
String ext = in.readLine();
 
 
String filename = file + "." + ext;
 
 
File f = new File(filename);
 
 
try{
 
 
ObjectInputStream obj = new ObjectInputStream(new FileInputStream(f));
  System.out.println("The text : "+  obj.readObject());
  obj.close();
  System.out.println("Deserializing Operation Completly Successfully.");
 
 
}
 
 
catch(ClassNotFoundException e){
 
 
System.out.println(e.getMessage());
 
  
}
 
 
catch(FileNotFoundException fe){
 
  
System.out.println("File not found ");
 
 
}
 
 
}
 
}

Download this example.