字符流的读和写最终在底层都是通过字节流来完成的吗? 读写文本文件字符流应该就可以了吧。。

解决方案 »

  1.   

    Java流包括字节流和字符流,字节流通过IO设备以字节数据的方式读入,而字符流则是通过字节流读入数据转化成字符“流”的形式由用户驱使。      
    流可以通过包装进行功能上的扩充,比如说BufferedStream,可以缓冲流,提高读取的性能读写文本文件字符流可以
    可以使用BufferedInputStream 
      

  2.   

    我知道读文件可以用字符流。但是像InputStreamReader(InputStream in) 里面的参数有个字节流。。FileReader也是继承他。所以我觉得是不是底层上其实字符流的输入输出都是字节流完成的 都离不开字节流
      

  3.   

    其实字符流没有实际的形式,只能是通过包装一些特别的输入流才能进行字符操作,比如说包装字节流InputStream:
    Reader reader = new InputStreamReader(System.in);
    再比如说包装字符数组:
    char[] in = new char[1024];
    Reader reader = new CharArrayReader(in);
      

  4.   


    我觉得你说的是正确的。io包的其他的类基本都继承自input/outputstream或者采用了其他的依赖。
      

  5.   

    InputStreamReader 是特殊的,它就是用来把一个字节流封装进一个字符流的。(我怀疑这就是当初它被设计出来的理由)
    除了这个类,其他的IO类都是字节流封装字节流,字符流的封装字符流。
      

  6.   

    InputStreamReader继承自Reader是字符流的