本帖最后由 Myxiao7 于 2010-03-17 22:12:41 编辑

解决方案 »

  1.   

    第一个read 我在eclipse下debug结果如下:
    6
    6
    10
    所以应该是把 汉字和 字符或字母都按照一个来算的。
      

  2.   

    temp1 中  buffer 读完之后 [1, 2, 3, a, b, c,  , , , , , ……】;
    temp2   【 我, 爱, j, a, v, a,  , , , , ……】
    temp3    [这, 个, 论, 坛, 不, 错, j, a, v, a, ……】
    很奇怪,有时候 在调试的时候 ,sysout出来的不是 6 或者10,而是 -1.这个我也不太清楚了。
    不过可以肯定的是  jdk1.6中 汉字确实是当做一个char来读的。
      

  3.   

    char是unicode占2个字节
    以上
      

  4.   

    jdk底层用的Unicode编码,都是双字节,你把char[512]换成byte[512]就能看出问题所在了