Java Hashtable的序列化和反序列化

   2024-09-30 4080
核心提示:Java中的Hashtable实现了Serializable接口,因此可以进行序列化和反序列化操作序列化:将Hashtable对象转换为字节流,以便在网络

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

序列化:将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();        }    }}
反序列化:从字节流中恢复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对象。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号