gpt4 book ai didi

java - DataOutputStream() VS DataOutputStream(新缓冲输出流())

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:52:19 24 4
gpt4 key购买 nike

代码在Java Tutorials显示了使用 DataOutputStream 类和 DataInputStream 类的示例。

代码片段如下所示:

//..
out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(dataFile)));
//..
in = new DataInputStream(new BufferedInputStream(new FileInputStream(dataFile)));
//..

我想知道为什么在我们创建一个新的 DataOutputStream 时需要创建一个新的 BufferedOutputStream

这不是多余的,因为这个替代方案也可以吗? : new DataOutputStream(new FileOutputStream(dataFile));

作为this page据称,DataStreams 已经提供了缓冲文件输出字节流。那么真的需要“双缓冲”吗?

我修改了 2 行代码(输出和输入),去掉了 BufferedOutputStreamBufferedInputStream 一切似乎都正常,所以我想知道BufferedOutputStreamBufferedInputStream 的用途是什么?

最佳答案

将 FileOutputStream 包装在 BufferedOutputStream 中通常会加快程序的整体输出速度。只有在写入大量数据时才会注意到这一点。将 InputStream 包装在 BufferedInputStream 中也是如此。缓冲区的使用只会影响效率,不会影响正确性。

关于java - DataOutputStream() VS DataOutputStream(新缓冲输出流()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8109762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com