当前位置:  技术问答>java相关

输出流嵌套的问题!

    来源: 互联网  发布时间:2017-03-29

    本文导语:  经常看到这种代码! 把一些内容写到文件中去,用的方法是: DataOutputStream out =    new DataOutputStream(     new BufferedOutputStream(       new FileOutputStream("Test.txt"))); 我的问题是: 既然FileOutputStream能做到把内容写...

经常看到这种代码!

把一些内容写到文件中去,用的方法是:
DataOutputStream out = 
  new DataOutputStream(
    new BufferedOutputStream(
      new FileOutputStream("Test.txt")));

我的问题是:
既然FileOutputStream能做到把内容写到文件中去,
为什么还要套那么多的类呢?
有什么特殊的需要呢?还是有什么好处???


|
呵呵,这些能够嵌套别的字节流都是属于FilterOutputStream的子类。
使用嵌套是为了得到更多流处理方法。
的确,FileOutputStream能够把内容写到文件中去,但它没有缓冲机制来提高效率,用BufferedOutputStream嵌套一下就能搞定了。
而你如果希望能够直接写基本类型的数据而不是单个字节的数据的话,就可以再用DataOutputStream包装一下,它提供writeBoolean、writeInt(int v) 等特有的方法。
因此,是否使用嵌套,看你的需要。

|
上面的例子没有用道BufferedOutputStream 因为它的作用只是加一个缓存而已。
对于
3. FileInputStream fis = new FileInputStream(“fname”);
4. DataInputStream dis = new DataInputStream(fis);

因为你可能要操作int 或是string 而不是bytes 所以你需要FilterOutputStream ,所以你需要流嵌套

|
嵌套那么多类就是为了增加流处理的功能嘛,FileInputStream的功能不够才会这样做的

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。














站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3