gpt4 book ai didi

java - 自定义 Java 序列化

转载 作者:行者123 更新时间:2023-11-29 03:53:54 26 4
gpt4 key购买 nike

我正在经历一个 blog我想到了一个问题。是否可以覆盖 ObjectOutputStream 的写入方式。

假设我正在写入文件 out.dat 即

ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(new File("C:\\out.dat")));
out.writeObject(o);

当我在 Notepad++ 中打开文件 out.dat 时,我看到了二进制数据。这是有道理的。如果我想自定义写入此数据的方式怎么办。可以说我想要 JSON 格式的 out.dat 文件(这只是一个例子,它可以是任何其他格式)。我应该覆盖什么方法来做到这一点?

最佳答案

您将能够通过实现 Externalizable 并覆盖 writeExternal 和 readExternal 方法来执行您想要的操作。参见 http://download.oracle.com/javase/7/docs/platform/serialization/spec/output.html#3146了解详情。

请注意,它将允许自定义一个对象序列化的输出,但不能自定义整个流的格式。因此,您会在其他二进制数据中找到您的 JSON 字符串。

关于java - 自定义 Java 序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7421728/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com