因此,最近我学会了使用流,既可以使用输入也可以使用输出来学习,因此我可以从文件中读取并写入其中。但是我的老师有时决定使用缓冲,有时他不使用。像这种情况下,请张贴代码。你们知道为什么他在这种情况下没有放置缓冲输出流吗?
public void writePrimes2(String filename) throws IOException {
try(ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream(filename))){
os.writeObject(primes);
os.flush();
}
}
答案 0 :(得分:1)
BufferedOutputStream和FileOutputStream都类似地工作。内部BufferedOutputStream写入内部缓冲区,而不是直接写入操作系统IO设备,并且当缓冲区已满或关闭时,它将缓冲区的内容刷新到OS IO设备。在某些操作系统上,这可能更高效/更快。但是结果是由于缓冲,输出可能会稍微延迟。
答案 1 :(得分:0)
ObjectOutputStream
用于序列化对象的状态(实例变量的值)。如果物体足够小,则整个操作可能会足够快。