请教,晚了一点,但是拼了。谢谢
向文件写入数字,恩,数字。结果打开文件是乱码。d:\pet 和 d:\pet.txt 都不行。
上码!
[code="java"]BufferedWriter bw =new BufferedWriter (new OutputStreamWriter(new FileOutputStream(path),"GB2312"));bw.write(random.nextInt());bw.flush();bw.close();[/code]

java io求教
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 拽拽的初行者 2010-04-20 08:02关注
见BufferWriter中的方法签名:
[quote]public void write(int c)
throws IOException写入单个字符。 [/quote]注意是写入单个字符,也即是 你传入的random.nextInt(),是一个char的数值。也即是,你输入的ASCII字符的整型值。
解释一下:你write(0x31)时,其实你是写入了一个字符'0'。你write(0x65)的话,输出的其实是'e'.
[color=blue]
[b]
你可以这样使用:[/b][/color]
[code="java"]PrintWriter bw = new PrintWriter(new OutputStreamWriter(new FileOutputStream(("src/a.txt")),"GB2312"));// 注意:这里是print的方法
bw.print(random.nextInt());bw.flush();
bw.close();[/code]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报