chyznyzqh 2010-04-19 22:28
浏览 170
已采纳

java io求教

请教,晚了一点,但是拼了。谢谢
向文件写入数字,恩,数字。结果打开文件是乱码。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]

  • 写回答

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]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?