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

http://img.mukewang.com/590b51750001a54a04820345.jpg

http://img.mukewang.com/590b51680001b3fd13320196.jpg


代码在第一张图    我创建了一个TestWriter.txt 然后把  0-5000传输进去    打开TestWriter.txt 为什么里面内容会是  第二张图那样??

 

月亮岛Superman
浏览 1360回答 1
1回答

onemoo

你期望是什么样呢?  是希望文件中是 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());
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java