This section illustrates you how to read and write from/to a serialized file through the hash table in Java.
Writing and reading from/to a serialized file through
Hash Table in Java
This section illustrates you how to read and write
from/to a serialized file through the hash table in Java. This section provides
an example with the complete code of the program. Following program has the
facility if the specified serialized file does not exist the the program creates
the serialized file otherwise. This program first write to the specified
serialized file if it exists otherwise read all contents by de-serializing the
file.
Code Description:
FileOutputStream fileOut = new FileOutputStream("HTExample.ser"):
Above code creates an object "fileOut" of the FileOutputStream
with it's constructor which takes a file name which contains ".ser"
extension that determines for the serialized file either which has to be created
or written with the specified value in a hash table in the program.
Here is the code of the program:
import java.util.*;
import java.io.*;
public class SimpleSerialization{
private static void doSave(){
System.out.println();
System.out.println("+------------------------------+");
System.out.println("| doSave Method |");
System.out.println("+------------------------------+");
System.out.println();
Hashtable<String,Object> h = new Hashtable<String,Object>();
h.put("string", "Oracle / Java Programming");
h.put("int", new Integer(36));
h.put("double", new Double(Math.PI));
try{
System.out.println("Creating File/Object output stream...");
FileOutputStream fileOut = new FileOutputStream("HTExample.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
System.out.println("Writing Hashtable Object...");
out.writeObject(h);
System.out.println("Closing all output streams...\n");
out.close();
fileOut.close();
}
catch(FileNotFoundException e){
e.printStackTrace();
}
catch(IOException e){
e.printStackTrace();
}
}
private static void doLoad(){
System.out.println();
System.out.println("+------------------------------+");
System.out.println("| doLoad Method |");
System.out.println("+------------------------------+");
System.out.println();
Hashtable h = null;
try{
System.out.println("Creating File/Object input stream...");
FileInputStream fileIn = new FileInputStream("HTExample.ser");
ObjectInputStream in = new ObjectInputStream(fileIn);
System.out.println("Loading Hashtable Object...");
h = (Hashtable)in.readObject();
System.out.println("Closing all input streams...\n");
in.close();
fileIn.close();
}
catch(ClassNotFoundException e){
e.printStackTrace();
}
catch(FileNotFoundException e){
e.printStackTrace();
}
catch(IOException e){
e.printStackTrace();
}
System.out.println("Printing out loaded elements...");
for(Enumeration e = h.keys(); e.hasMoreElements();){
Object obj = e.nextElement();
System.out.println(" - Element(" + obj + ") = " + h.get(obj));
}
System.out.println();
}
public static void main(String[] args){
doSave();
doLoad();
}
}
|
Download this example.