如何在java中将数据添加到序列化文件?

时间:2017-10-22 12:10:13

标签: java serialization

我想将ArrayList类型的列表序列化到该文件中。但是这个列表的大小可能会不时更改,例如,如果它的大小是10000个元素,那么一段时间后我可能会添加另外10000个元素。 我使用以下代码进行序列化:

public class Serializer {

    private Serializer() {
    }

    public static void serialize(String filename, List<String> list) {

        try (FileOutputStream fos = new FileOutputStream(filename);
             ObjectOutputStream out = new ObjectOutputStream(fos)) {
            out.writeObject(list);
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

    public static List<String> deserialize(String filename) {
        try (FileInputStream fis = new FileInputStream(filename);
             ObjectInputStream in = new ObjectInputStream(fis)) {
            return (List<String>) in.readObject();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return new ArrayList<>();
    }
}

我想知道是否有办法在现有文件的基础上序列化数据,而不是从头开始覆盖它。

0 个答案:

没有答案