看看java in the nut shell操作bit流用InputStream/OutPutStream和他们的子类
操作字符流用Reader/Writer以及他们的子类
BufferedXXX对读出的字符流或者字节流进行缓存...

解决方案 »

  1.   

    InputSrteam和OutputSrteam 是字节流的流
    reader和writer是字符流的流
    基本上就是这两大分支,其他的都是这两个抽象类的子类
    而InputStreamRead和OutputStreamWriter则是可以负责这两个流之间的转化
      

  2.   

    在JAVA中,处理8位字节流的两个基础类是InputStream和OutputStream,而处理16位的unicode字符流的两个基础类是Reader和Writer,所有其他的流类都是以这4个类为基础。直接继承这4个抽象类的流都是结点流(低级流),结点流的子类为过滤器流(高级流)。
        
        按照流的方向分,可以分为输入流和输出流。
        根据流处理的“源”的不同,分为两类流,一类流直接从指定的位置(如磁盘文件或内存区域)读或写,这类流称为结点流(node stream),又被称为低级流。其它的流则称为过滤器(filters),也被称为高级流。过滤器输入流往往是以其它输入流作为它的输入源,经过过滤或处理后再以新的输入流的形式提供给用户,过滤器输出流的原理也类似。 
        
        InputStreamReader和OutputStreamWriter都是过滤器流,属高级Reader类。InputStreamReader是字节流到字符流的桥梁,它读出字节并且将它按照制定的编码方式转换为字符。OutputStreamWriter是字符流到字节流之间的桥梁,写入的字符串将根据特定的编码方式转换成字节。详见http://lboss.blogdriver.com/lboss/123707.html