为了账号安全,请及时绑定邮箱和手机立即绑定

提一个问题麻烦大家帮我看一下

提一个问题麻烦大家帮我看一下

月亮岛Superman 2017-05-05 00:09:37
代码在第一张图    我创建了一个TestWriter.txt 然后把  0-5000传输进去    打开TestWriter.txt 为什么里面内容会是  第二张图那样?? 
查看完整描述

1 回答

已采纳
?
onemoo

TA贡献883条经验 获得超454个赞

你期望是什么样呢?  是希望文件中是 1 2 3 ... 这样的字符吗?

write(int) 接受 int 参数的版本会写入该参数值在字符集中所表示的字符。 

你代码中传入 write 的5000个整形值被当作字符集中字符的值了,所以基本上你是把 ASCII 字符表及后续扩展字符都输出了个遍...


想要输出 0-4999 这些字符,就想办法将 int 值转为字符。比如你可以这样:

// 先用String来将整型值转为字符
// 再用write的另一个版本 write(String str, int off, int len) 来写入字符
fw.write(String.valueOf(i), 0, String.valueOf(i).length());


查看完整回答
反对 回复 2017-05-05
  • 1 回答
  • 0 关注
  • 1344 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信