单个文件中多个java对象的序列化和反序列化

bha*_*ya 1 java serialization hashmap

我有一个场景,我有多个HashMap对象需要存储在同一个文本文件中.例如 :

    a.put("01jan", 13);
    a.put("02feb", 13);
    a.put("03march", 13);
    a.put("04apr", 13);
    a.put("05may", 13);

    b.put("06june", 12);
    b.put("07july", 12);
    b.put("08aug", 12);
    b.put("09sept", 12);
    b.put("10oct", 12);
Run Code Online (Sandbox Code Playgroud)

我想使用java序列化将对象保存在同一个txt文件中.有没有办法做到这一个接一个我尝试使用FileOutputStream( file_name,true).此外,当我尝试检索对象说HashMap b现在和HashMap a需要时.有没有办法实现这个目标?如何检索out of order对象并检索正确的对象?

谢谢,Bhavya

Par*_*ram 7

您可以将所有hashmap对象放在ArrayList中,然后序列化ArrayList对象.稍后,当您实现ArrayList对象时,可以返回单个HashMap对象:

List<HashMap> list = new ArrayList<HashMap>();
list.add(a);
list.add(b);

// serialize the list object
Run Code Online (Sandbox Code Playgroud)