Programming Tutorials

A Serialization Example in Java

By: Fazal in Java Tutorials on 2022-09-15  

Serialization is a process of converting an object's state into a byte stream, which can be easily transmitted over a network or can be stored in a file or database. The serialized object can be later deserialized, which means the byte stream can be used to recreate the object's state.

Here's an example program that demonstrates serialization in Java:

import java.io.*;

public class SerializationExample {
    public static void main(String[] args) {
        // Create an object to serialize
        Employee employee = new Employee(1, "John Doe", "Sales");

        try {
            // Serialize the object
            FileOutputStream fileOut = new FileOutputStream("employee.ser");
            ObjectOutputStream out = new ObjectOutputStream(fileOut);
            out.writeObject(employee);
            out.close();
            fileOut.close();
            System.out.println("Serialized data is saved in employee.ser");
        } catch (IOException e) {
            e.printStackTrace();
        }

        // Deserialize the object
        try {
            FileInputStream fileIn = new FileInputStream("employee.ser");
            ObjectInputStream in = new ObjectInputStream(fileIn);
            Employee emp = (Employee) in.readObject();
            in.close();
            fileIn.close();
            System.out.println("Deserialized Employee:");
            System.out.println("ID: " + emp.id);
            System.out.println("Name: " + emp.name);
            System.out.println("Department: " + emp.department);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}

class Employee implements Serializable {
    int id;
    String name;
    String department;

    public Employee(int id, String name, String department) {
        this.id = id;
        this.name = name;
        this.department = department;
    }
}

In this example, we first create an Employee object with some values, and then serialize it to a file named employee.ser. To serialize an object, we need to create an instance of the ObjectOutputStream class and call its writeObject() method, passing in the object to be serialized.

To deserialize the object, we first create an instance of the ObjectInputStream class, passing in the file input stream of the serialized object. Then, we use the readObject() method to read the object from the file. Finally, we cast the object to the Employee class and print its fields to the console.

Note that for a class to be serializable, it needs to implement the Serializable interface. In this example, the Employee class implements the Serializable interface, which allows us to serialize and deserialize it.






Add Comment

* Required information
1000

Comments

No comments yet. Be the first!

Most Viewed Articles (in Java )

Latest Articles (in Java)