问答详情
源自:3-1 RandomAccessFile基本操作

writeInt()问题

为什么file.writeInt(20)得到的是4个空格,怎么让数字能够在文本上正常显示

提问者:墨雨忆诗 2015-11-04 17:56

个回答

  • godspeed_26
    2015-12-16 22:45:24
    已采纳

    所有的文件都可以理解为是byte[]。而1个byte占1个字节,一个Int是4个字节。
    所以说你写进去的东西将会出现乱码,除非你已readInt().或者已write()写read()读,
    总之你的输入和读取的类型要相同。

  • 自然自清
    2015-12-23 15:12:34

    整数20被以默认的编码方式写入文本,直接打开文本浏览时肯定看不到,因为整数20不是文本(ASCII码)。

    可以按字节数组写入,例如:

    String s = "20";

    byte[] ss = s.getBytes("gbk");

    file.write(ss);

    也可以分别以字符方式写入,例如:

    file.write('2');

    file.write('0');