DataInput/OutputStream和BufferedInput/ OutputStream的区别是什么?



让我在这篇文章的开头提出一个警告。我是一个完全的初学者,我真的很想学习和理解做这些事情的最好方法。除了我的第一个问题,在什么情况下我可以使用DataInput/OutputStreamBufferedInput/ouputStream ?由于

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

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

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

DataInputStream消耗较少的内存空间,因为它是二进制流,而BufferedReader消耗更多的内存空间,因为它是字符流。

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

DataInput/OutputStream用于读取/写入数据,如原语(int, boolean等)到文件中。

BufferedInput/outputstream是一个提高性能的包装器。

实际上你可以这样使用它们:

DataOutputStream dos = new DataOutputStream(new BufferedOutputStream(file));

这背后的整个设计是Decorator Pattern。您可以使用多个其他装饰器,如ObjectOutputStream作为包装器

相关内容

  • 没有找到相关文章

最新更新