Java Serialization将对象保存在文件中

时间:2014-12-12 21:48:03

标签: java serialization

在序列化对象时的java中

FileOutputStream fileOut =
            new FileOutputStream("src/employee.ser");
    ObjectOutputStream out = new ObjectOutputStream(fileOut);
    out.writeObject(em);
    out.close();
    fileOut.close(); 

我们可以使用任何类型的扩展程序.bin.txt作为输出文件。为什么.ser最受欢迎?

1 个答案:

答案 0 :(得分:2)

.ser是Serializable的简写和常用的3个字母文件扩展名。您可以使用您喜欢的任何其他扩展程序,也可以不使用任何扩展名。该文件将毫无问题地创建。 测试。在测试它并向自己演示这是可能的之后,我建议为生成的文件定义适当的扩展,或者继续使用ser,因为它是Java开发人员常用的序列化二进制数据。

想象一下,您使用txt作为扩展名而不是ser或自定义扩展名。 PC 的另一个非开发人员用户意外地进入包含带有txt扩展名的二进制数据文件的文件夹(可能在Windows或Mac环境中,在Linux上几乎不是不可能):)并打开它并且看到胡言乱语,因为毕竟是序列化数据。此用户可能无法看到乱码或可能认为文件已损坏并删除它。 IMO这就是为什么对包含二进制数据的文件使用非公共扩展名会更好。

注意:您可以使用几乎任何程序打开任何文件,尽管它有扩展名,并且看到它因为没有识别格式或显示乱码而感到窒息,但这不是问题。