请教ObjectOutputStream输出乱码问题
答案:2 悬赏:20 手机版
解决时间 2021-02-09 08:16
- 提问者网友:我是我
- 2021-02-08 08:53
请教ObjectOutputStream输出乱码问题
最佳答案
- 五星知识达人网友:春色三分
- 2021-02-08 09:28
writeObject写到文件里的是String类的序列化内容,当然不能正确查看了,写字符串用PrintStream比较好。而且输出“\n”和“\r\n”都不是很好的方法,因为不同的平台回车符是不一样,如下解决跨平台问题的换行:
PrintStream file = new PrintStream(new FileOutputStream("c:\\cc.txt"));
file.println("test01");
file.println("test02");
PrintStream file = new PrintStream(new FileOutputStream("c:\\cc.txt"));
file.println("test01");
file.println("test02");
全部回答
- 1楼网友:千夜
- 2021-02-08 09:35
那并非乱码。
objectoutputstream.writeobject()的作用是把一个实例的对象以文件的形式保存到磁盘上,这个过程就叫java对象的持久化。
而这个文件是以二进制的形式编写的,当你用文本编辑器将它打开,这些二进制代码与某个字符集映射之后,显示出来的东西就成了乱码。
即使输出的是一个string的对象,也是以该string对象的二进制编码的形式输出,而不是输出string对象的内容。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯