Create a class that has a HashMap as a member object. Write code to serialize and deserialize that class. Also, write utility methods to print the HashMap and use it to print data before and after serialization.
Engineering Full Stack Apps with Java and JavaScript
Create a class that has a HashMap as a member object. Write code to serialize and deserialize that class. Also, write utility methods to print the HashMap and use it to print data before and after serialization.
package com.javajee.forums;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map.Entry;
public class SerializableExample implements Serializable {
private static final long serialVersionUID = 1L;
HashMap<Integer, String> map=new HashMap<Integer, String>();
// METHOD FOR SERIALIZATION
public void serializeMapClass(){
try{
FileOutputStream fs = new FileOutputStream("testSer.ser");
ObjectOutputStream os = new ObjectOutputStream(fs);
os.writeObject(this);
os.close();
}
catch(Exception e){
e.printStackTrace();
}
}
//METHOD FOR DESERIALIZATION
public void deserializeAndPrint(){
try{
SerializableExample obj1;
FileInputStream fis = new FileInputStream("testSer.ser");
ObjectInputStream ois = new ObjectInputStream(fis);
obj1 = (SerializableExample) ois.readObject();
ois.close();
obj1.mapValues();
}
catch(Exception e){
e.printStackTrace();
}
}
// TESTER METHODS
public static void main(String[] args) {
SerializableExample obj=new SerializableExample();
obj.createMap();
System.out.println("value before serialization");
obj.mapValues();
obj.serializeMapClass();
System.out.println("value after serialization");
obj.deserializeAndPrint();
}
public createMap(){
map.put(1,"tree");
map.put(2, "plant");
}
public void mapValues(){
for(Entry<Integer, String> s : map.entrySet()){
System.out.println(s.getValue());
}
}
}
Hi,
// Java code for serialization and deserialization
// of a Java object
import java.io.*;
class Demo implements java.io.Serializable
{
public int a;
public String b;
// Default constructor
public Demo(int a, String b)
{
this.a = a;
this.b = b;
}
}
class Test
{
public static void main(String[] args)
{
Demo object = new Demo(1, "geeksforgeeks");
String filename = "file.ser";
// Serialization
try
{
//Saving of object in a file
FileOutputStream file = new FileOutputStream(filename);
ObjectOutputStream out = new ObjectOutputStream(file);
// Method for serialization of object
out.writeObject(object);
out.close();
file.close();
System.out.println("Object has been serialized");
}
catch(IOException ex)
{
System.out.println("IOException is caught");
}
Demo object1 = null;
// Deserialization
try
{
// Reading the object from a file
FileInputStream file = new FileInputStream(filename);
ObjectInputStream in = new ObjectInputStream(file);
// Method for deserialization of object
object1 = (Demo)in.readObject();
in.close();
file.close();
System.out.println("Object has been deserialized ");
System.out.println("a = " + object1.a);
System.out.println("b = " + object1.b);
}
catch(IOException ex)
{
System.out.println("IOException is caught");
}
catch(ClassNotFoundException ex)
{
System.out.println("ClassNotFoundException is caught");
}
}
}
Hope this will help you solve your java coding issue and if you like to know more then visit the best Java Classes in Pune.
//Java Training
import java.io.*;
class Demo implements java.io.Serializable
{
public int a;
public String b;
// Default constructor
public Demo(int a, String b)
{
this.a = a;
this.b = b;
}
}
class Test
{
public static void main(String[] args)
{
Demo object = new Demo(1, "geeksforgeeks");
String filename = "file.ser";
// Serialization
try
{
//Saving of object in a file
FileOutputStream file = new FileOutputStream(filename);
ObjectOutputStream out = new ObjectOutputStream(file);
// Method for serialization of object
out.writeObject(object);
out.close();
file.close();
System.out.println("Object has been serialized");
}
catch(IOException ex)
{
System.out.println("IOException is caught");
}
Demo object1 = null;
// Deserialization
try
{
// Reading the object from a file
FileInputStream file = new FileInputStream(filename);
ObjectInputStream in = new ObjectInputStream(file);
// Method for deserialization of object
object1 = (Demo)in.readObject();
in.close();
file.close();
System.out.println("Object has been deserialized ");
System.out.println("a = " + object1.a);
System.out.println("b = " + object1.b);
}
catch(IOException ex)
{
System.out.println("IOException is caught");
}
catch(ClassNotFoundException ex)
{
System.out.println("ClassNotFoundException is caught");
}
}
}
O/P:
Object has been serialized
Object has been deserialized
a = 1
b = geeksforgeeks