缓冲流串联 Scala(或Java)

4
假设我需要写入二进制文件。我可以使用以下代码:
val fos = new FileOutputStream("fileName")

然后使用。
fos.write(bytes)

在IT技术中,将流与缓冲流链接起来总是一个好主意吗?例如:

val fos = new FileOutputStream("FileName")
val bos = new BufferedOutputStream(fos)

FileInputStream也适用同样的规则吗?

在链式结构中,最后是否需要关闭fos

编辑:找到了最后一个问题的答案。不必关闭内部流,如此处所述。

1个回答

3

根据需要写入的数据类型而定。当你不想让底层系统(执行实际写入的系统)在每个字节写入时都被调用时,应使用BufferedStream;而当你想要写入原始字节(例如写入图像)时,应使用FileOutputStream。


在上面的示例中,关闭fos是必要的吗? - Jus12
1
根据Javadoc文档,关闭bos会同时关闭fos。请参考http://download.oracle.com/javase/6/docs/api/java/io/FilterOutputStream.html#close()。 - huynhjl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接