请教各位大神一个关于BufferedWriter的write方法的问题

RevyBright 2016-01-27 03:50:48
问这个问题还真有点不好意思,是这样

这是我的代码:


其中有一行//bw.write(key+":"+tm.get(key));(它被我注释掉了)这样写的话程序能正常运行,输出到文件times.txt里面看到的也是正常的。

但是我用这样的写法——bw.write(tm.get(key)); ——输出到文件之后就会变成这样:


求问大神们为什么用下面那种写法会乱码呢?

拜谢~
...全文
284 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
RevyBright 2016-01-27
  • 打赏
  • 举报
回复
引用 3 楼 u014038116 的回复:
应该是传的类型被隐士转换了把,上面那个就是string
谢谢!!
xiaovhao 2016-01-27
  • 打赏
  • 举报
回复
应该是传的类型被隐士转换了把,上面那个就是string
RevyBright 2016-01-27
  • 打赏
  • 举报
回复
引用 1 楼 piaopiao11 的回复:
你的hashmap里面装的不是String 需要转一下。 bw.write(String.valueOf(tm.get(key))); 如果不转化,会当char写入进去,你在查看文件当然就不对了。
谢谢!!确实转成string就没问题了,还能不能再问一下 bw.write(key+":"+tm.get(key)); 这样写的话是不是key+":"+tm.get(key)就自动转成string了呢?
piaopiao11 2016-01-27
  • 打赏
  • 举报
回复
你的hashmap里面装的不是String 需要转一下。 bw.write(String.valueOf(tm.get(key))); 如果不转化,会当char写入进去,你在查看文件当然就不对了。

62,635

社区成员

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

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