io流乱码,那位大神给找找原因

Stream。 2019-01-28 10:04:14


控制台测试正常,但是打开建立的txt文本的时候就出现乱码,那位大神知道哪里有问题,指点下
...全文
156 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
NLimit 2019-01-31
  • 打赏
  • 举报
回复
看看是不是你eclipse的编码方式和你的txt文本的编码方式不一致
qq_39936465 2019-01-28
  • 打赏
  • 举报
回复
需要对应的反序列化才能正常读出

ObjectInputStream in = new ObjectInputStream(new FileInputStream(new File("E:\\serable.txt")));
Stu stu = (Stu) in.readObject();
wildyy 2019-01-28
  • 打赏
  • 举报
回复
引用 4 楼 Stream。 的回复:
[quote=引用 1 楼 wildyy 的回复:]
你怎么打开的,不要告诉我是双击txt

双击打开,引用网页打开,用别的格式文件打开都不可以[/quote]
序列化对象这是字节流,一堆字节,ascii编码,你用txt直接打开它用的是GBK编码打开的,所以乱码,而且这是字节流,用txt打开查看的都是字符流才这么做,这种序列化对象的文件你只能用程序去反序列化获取,没有必要直接打开文件。
Stream。 2019-01-28
  • 打赏
  • 举报
回复
引用 2 楼 bcsflilong 的回复:
将对象序列到文本中 是已二进制的形式写入到文件的 所以会乱码

你可以用ByteArrayOutputStream


我先试试
Stream。 2019-01-28
  • 打赏
  • 举报
回复
引用 1 楼 wildyy 的回复:
你怎么打开的,不要告诉我是双击txt

双击打开,引用网页打开,用别的格式文件打开都不可以
Stream。 2019-01-28
  • 打赏
  • 举报
回复
是双击打开的,别的方式我也实验过了,也不行
bcsflilong 2019-01-28
  • 打赏
  • 举报
回复
将对象序列到文本中 是已二进制的形式写入到文件的 所以会乱码

你可以用ByteArrayOutputStream
wildyy 2019-01-28
  • 打赏
  • 举报
回复
你怎么打开的,不要告诉我是双击txt

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧