在序列化对象时的java中
FileOutputStream fileOut =
new FileOutputStream("src/employee.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(em);
out.close();
fileOut.close();
我们可以使用任何类型的扩展程序.bin
,.txt
作为输出文件。为什么.ser
最受欢迎?
答案 0 :(得分:2)
.ser是Serializable
的简写和常用的3个字母文件扩展名。您可以使用您喜欢的任何其他扩展程序,也可以不使用任何扩展名。该文件将毫无问题地创建。 测试。在测试它并向自己演示这是可能的之后,我建议为生成的文件定义适当的扩展,或者继续使用ser,因为它是Java开发人员常用的序列化二进制数据。
想象一下,您使用txt作为扩展名而不是ser或自定义扩展名。 PC 的另一个非开发人员用户意外地进入包含带有txt扩展名的二进制数据文件的文件夹(可能在Windows或Mac环境中,在Linux上几乎不是不可能):)并打开它并且看到胡言乱语,因为毕竟是序列化数据。此用户可能无法看到乱码或可能认为文件已损坏并删除它。 IMO这就是为什么对包含二进制数据的文件使用非公共扩展名会更好。
注意:您可以使用几乎任何程序打开任何文件,尽管它有扩展名,并且看到它因为没有识别格式或显示乱码而感到窒息,但这不是问题。