writeInt()问题

来源:3-1 RandomAccessFile基本操作

墨雨忆诗

2015-11-04 17:56

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

写回答 关注

2回答

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

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

    墨雨忆诗

    非常感谢!

    2016-01-27 23:25:48

    共 1 条回复 >

  • 自然自清
    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');

文件传输基础——Java IO流

为您介绍IO流的使用,以及对象的序列化和反序列化的内容

133754 学习 · 1030 问题

查看课程

相似问题