首页 > 解决方案 > Java-带缓冲的流

问题描述

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

  public void writePrimes2(String filename) throws IOException {
        try(ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream(filename))){
            os.writeObject(primes);
            os.flush();
        }
    }

标签: java

解决方案


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


推荐阅读