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[] args) throws 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.

|
Current Comments
1 comments so far (post your own) View All Comments Latest 10 Comments:I have tried using the folloing code in my code to read a serialized file and an EOFException keeps being thrown all the time and interruots the running of the program and the compiler keeps highlighting the following line: System.out.println("The text : "+ obj.readObject());
...What is the EOFException?
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 ");
}
Posted by Chimwemwe N. on Sunday, 10.5.08 @ 05:10am | #80902