Java Hashtable的序列化和反序列化

avatar
作者
猴君
阅读量:0

Java中的Hashtable实现了Serializable接口,因此可以进行序列化和反序列化操作

  1. 序列化:将Hashtable对象转换为字节流,以便在网络上传输或将其保存到文件中。
import java.io.*; import java.util.Hashtable;  public class SerializeHashtable {     public static void main(String[] args) {         Hashtable<String, String> hashtable = new Hashtable<>();         hashtable.put("key1", "value1");         hashtable.put("key2", "value2");         hashtable.put("key3", "value3");          try {             FileOutputStream fos = new FileOutputStream("hashtable.ser");             ObjectOutputStream oos = new ObjectOutputStream(fos);             oos.writeObject(hashtable);             oos.close();             fos.close();             System.out.println("Hashtable serialized successfully.");         } catch (IOException e) {             e.printStackTrace();         }     } } 
  1. 反序列化:从字节流中恢复Hashtable对象。
import java.io.*; import java.util.Hashtable;  public class DeserializeHashtable {     public static void main(String[] args) {         Hashtable<String, String> hashtable = null;          try {             FileInputStream fis = new FileInputStream("hashtable.ser");             ObjectInputStream ois = new ObjectInputStream(fis);             hashtable = (Hashtable<String, String>) ois.readObject();             ois.close();             fis.close();             System.out.println("Hashtable deserialized successfully.");         } catch (IOException | ClassNotFoundException e) {             e.printStackTrace();         }          if (hashtable != null) {             System.out.println("Deserialized Hashtable: " + hashtable);         }     } } 

这两个示例分别展示了如何序列化和反序列化Hashtable对象。首先,我们创建一个Hashtable对象并添加一些键值对。然后,我们使用FileOutputStream和ObjectOutputStream将Hashtable对象序列化到文件"hashtable.ser"中。接下来,我们使用FileInputStream和ObjectInputStream从文件中反序列化Hashtable对象。最后,我们打印出反序列化后的Hashtable对象。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!