请允许我在这篇文章的开头略加小心。我是一个完全的初学者,我真的很想学习和理解最好的方式来做这些事情。除了我的首要问题,在什么情况下我可以使用DataInput/OutputStream和BufferedInput/ouputStream?谢谢
发布于 2014-07-23 13:15:09
DataInputStream处理二进制数据,而BufferedReader处理字符数据。
所有原始数据类型都可以使用DataInputStream类中的相应方法来处理,而只能从BufferedReader类读取字符串数据,并且需要将它们解析为相应的原语。
DataInputStream是过滤流的一部分,而BufferedReader不是。
DataInputStream占用的内存空间较少,因为它是二进制流,当BufferedReader占用更多内存空间时,它是字符流。
要处理的数据在DataInputStream中是有限的,因为要处理的字符数在BufferedReader中有很大的范围。
发布于 2014-07-23 13:16:05
DataInput/OutputStream用于将原语(int、boolean等)等数据读写到文件中。
BufferedInput/ouputStream是一个包装器,用于提高性能。
事实上,您可以这样使用它们:
DataOutputStream dos = new DataOutputStream(new BufferedOutputStream(file));这背后的整个设计是装饰模式。您可以使用多个其他装饰器(如ObjectOutputStream )作为包装器。
https://stackoverflow.com/questions/24911393
复制相似问题