刚学JAVA有能解释下的吗?

解决方案 »

  1.   

    你可以多看看本版的推荐精华帖。
    参考:
    http://topic.csdn.net/u/20081024/09/99cd760a-29f4-42d4-9111-e4e5142545b8.html
      

  2.   

    1、我猜测楼主是不是不理解流和byte数组的区别?
       简单的想,就是流可以节省内存,java 中流的实现类中一定会有一个buffer,它一般就是byte数组,关键是这里的bufer是可以重复利用的。
       而如果用byte[]则要是事先new出需要的大小。 用流而不用byte[]的前提就是 在“我”这里不需要完整的数据。   举个例子。在数据传输过程(或读取文件)中,我每次只需要一个byte(传输的最小单位)就能完成这个过程的一个完整环节。 而想要
       将读取过来的东西变成结构数据(比如字符串)。比如我读完数据是10个bytes ,而这10个bytes唯一组成一个字符串。那么这是个byte将要放到byte[]中,String s= new String(10个bytes) 少一个byte也不行。  所以流和byte[]数组就是概念上和应用环境的区别,实现没有区别(特别的有一个ByteArrayStream,hehe,就说明了这一点 )
      
      总结: 流就是不需要缓存完整数据,通过一个字节就可以完成它的一个完整的处理环节(比如传输,“流”应该就是这么的名的吧^_^).
      不知道说明白没有....
    2、就是看些书,java i/o 奥莱利有一个本。 学习java的io各种实现。