首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataInput/OutputStream和BufferedInput/ouputStream之间有什么区别?

DataInput/OutputStream和BufferedInput/ouputStream之间有什么区别?
EN

Stack Overflow用户
提问于 2014-07-23 13:10:11
回答 2查看 245关注 0票数 0

请允许我在这篇文章的开头略加小心。我是一个完全的初学者,我真的很想学习和理解最好的方式来做这些事情。除了我的首要问题,在什么情况下我可以使用DataInput/OutputStreamBufferedInput/ouputStream?谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-23 13:15:09

DataInputStream处理二进制数据,而BufferedReader处理字符数据。

所有原始数据类型都可以使用DataInputStream类中的相应方法来处理,而只能从BufferedReader类读取字符串数据,并且需要将它们解析为相应的原语。

DataInputStream是过滤流的一部分,而BufferedReader不是。

DataInputStream占用的内存空间较少,因为它是二进制流,当BufferedReader占用更多内存空间时,它是字符流。

要处理的数据在DataInputStream中是有限的,因为要处理的字符数在BufferedReader中有很大的范围。

票数 1
EN

Stack Overflow用户

发布于 2014-07-23 13:16:05

DataInput/OutputStream用于将原语(int、boolean等)等数据读写到文件中。

BufferedInput/ouputStream是一个包装器,用于提高性能。

事实上,您可以这样使用它们:

代码语言:javascript
复制
DataOutputStream dos = new DataOutputStream(new BufferedOutputStream(file));

这背后的整个设计是装饰模式。您可以使用多个其他装饰器(如ObjectOutputStream )作为包装器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24911393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档