解决方案 »

  1.   

    java内部用的是Unicode,所以字符在内存中占两个字节,但是用默认字符编码的文件中一个字符是一个字节,楼主可以看看文件属性,文件大小一定是1字节,只有文件用Unicode才有可能大于1字节
      

  2.   

    当然不是进, (那种字符编码)
    中 , 在java中确定是char  那么就是 Unicode  
    出 ,(那种字符编码)
      

  3.   

    反正都是0101,恰好char是两个字节  Unicode也是两个字节。或许因为 Unicode是两个字节,所以char才是两个字节。
    没变成char的时候,你是一字节也可以。
      

  4.   

    写的时候是低8位,读的时候也是低8位,那就说明你写的时候只忘文件里写了一个字节,你写的时候是一个字符,它会先把‘a’变成int值,然后把这个int值的低8位写进去
      

  5.   

    当你fw.write('a');的时候,FileWriter会用默认字符集进行编码,中文系统一般是GBK,'a'在GBK中的编码就是97,所以就只有一个字节97这个数据被写入文件喽
      

  6.   

    将字符a写入文件,读取的时候,按照文件的占用方式(一个非中文字符一个字节),将字符a以字节方式读出,其ascii表示为97