Java- 具有缓冲的流

所以最近我学会了使用流,包括输入和输出来学习,这样我就可以从文件中读取并写入一个文件。但是我的老师有时决定使用缓冲,有时他不这样做。就像在这种情况下,病态发布代码。你们明白为什么他在这种情况下没有放置缓冲输出流吗?


  public void writePrimes2(String filename) throws IOException {

        try(ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream(filename))){

            os.writeObject(primes);

            os.flush();

        }

    }


叮当猫咪
浏览 85回答 2
2回答

交互式爱情

BufferedOutputStream 和 FileOutputStream 的工作方式类似。内部 BufferedOutputStream 写入内部缓冲区,而不是直接写入操作系统 IO 设备,当缓冲区已满或关闭时,它会将缓冲区的内容刷新到 OS IO 设备。在某些操作系统上,这可以更有效/更快。但结果是,由于缓冲,输出可能会出现轻微的延迟。

弑天下

ObjectOutputStream用于序列化对象的状态(实例变量的值)。如果对象足够小,则整个操作可能会足够快。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java