字节流是用来对二进制文件操作的,字符流是用来对文本操作的,字节流之间对文件操作,字符流用到了缓冲区。那么字节流用没用到编码,在文本中写上汉字,字符流如何操作,是把汉字的码存入到内存中么?那取的时候会不会转码啊。字节流和字符流的内部机制到底是怎么回事啊。java

解决方案 »

  1.   

    字节流当然就是按字节来操作了
    字符流就是按字符来操作了
    缓冲是为了提高效率
    字符流中有
    InputStreamReader
    OutputWrtier
    这2种可以实现字节和字符的过渡,也可以转码
      

  2.   

    字节是存储的基本单位
    字符就是表示的各种符号,根据编码映射成字节,而字符根据编码不同占得字节数也不同比如java一个字符是两个字节
    只是写到文件中字符流还是字节流都没有区别 因为写进去不过就是二进制的数据而已,但是要解析这些数据显示出来就需要编码来转换,如果我是按字符写入的,读的时候也应该一次读一个字符然后转换才会得到想要的结果,如果读的时候确实按字节来读,原本一个16位字符被读成了2个8位字符肯定就乱码了