Java 编辑序列化对象

Java 编辑序列化对象,java,file,serialization,deserialization,objectoutputstream,Java,File,Serialization,Deserialization,Objectoutputstream,我将一个序列化对象存储在一个文件中(带有ObjectOutputStream) 是否可以在不反序列化和重新写入文件的情况下编辑文件中的序列化对象 不,您不能也不应该直接编辑该文件。您需要对数据进行反序列化、更改,然后重新序列化。做任何其他事情都是危险的。事实上,许多人建议人们不要使用Java序列化库序列化数据,而是将数据序列化为可读格式,如XML或JSON,或者将数据存储在数据库中,这是一种更灵活、更强大的构造。如果格式不符合规范,则永远不要依赖序列化的输出格式,被授权保持不变。Javas序列化

我将一个序列化对象存储在一个文件中(带有
ObjectOutputStream


是否可以在不反序列化和重新写入文件的情况下编辑文件中的序列化对象

不,您不能也不应该直接编辑该文件。您需要对数据进行反序列化、更改,然后重新序列化。做任何其他事情都是危险的。事实上,许多人建议人们不要使用Java序列化库序列化数据,而是将数据序列化为可读格式,如XML或JSON,或者将数据存储在数据库中,这是一种更灵活、更强大的构造。

如果格式不符合规范,则永远不要依赖序列化的输出格式,被授权保持不变。Javas序列化格式可以(而且已经)在JDK版本之间更改。您必须对文件进行序列化,编辑对象,然后重新序列化。请注意,您的问题并未显示您自己在该问题上的研究成果,这可能是您在该问题上看到一些反对票的原因。在本网站上提问时,请查看最佳实践。