本帖最后由 shirui8653719 于 2013-08-25 15:11:55 编辑

解决方案 »

  1.   

    如果在把写入的内容读出来raf.seek(0);
    byte[] buf = new byte[(int)raf.length()];
    raf.read(buf);
    System.out.println(Arrays.toString(buf));结果是[65, 66, -1, -42, -48]为什么会出现-1,-42,-48.
      

  2.   

    因为byte[]gbk是两位,所以是0,1,5,5-1是写入的i, -42是gbk[0], -48是gbk[1]有什么奇怪的?
      

  3.   

    我好奇怪i=0xfffffff不是有4个字节么,加进去总长度应该是7啊
      

  4.   

    -1是写入的i, -42是gbk[0], -48是gbk[1]这句话能说的详细点吗?谢谢