ObjectOutputStream 用writeObject输出文本是乱码

来源:百度知道 编辑:UC知道 时间:2024/06/09 20:28:32
如何解决,或者如何转换

那并非乱码。

ObjectOutputStream.writeObject()的作用是把一个实例的对象以文件的形式保存到磁盘上,这个过程就叫Java对象的持久化。

而这个文件是以二进制的形式编写的,当你用文本编辑器将它打开,这些二进制代码与某个字符集映射之后,显示出来的东西就成了乱码。

即使输出的是一个String的对象,也是以该String对象的二进制编码的形式输出,而不是输出String对象的内容。

一般可以用toString 方法 还可以强转化为其它的对象
以上谁的高论太可笑了,我想他肯定没试过.

writeObject(Object obj)方法,要是对象没有实现Serializable根本不让你写进去,马上抛出异常,

writeObject(Object obj)写入的文件是以二进制文件存储的,所以会乱码,就一句话的事情!

你输出的Object 对象 当然是乱马啊 你可以跟据你的需要进行转化 一般可以用toString 方法 还可以强转化为其它的对象