BufferedStream 链接 Scala(或 Java)

发布于 2024-11-07 02:28:47 字数 497 浏览 3 评论 0原文

假设我必须写入二进制文件。我可以使用以下代码

val fos = new FileOutputStream("fileName")

,然后使用

fos.write(bytes)

将其与缓冲流链接起来总是一个好主意吗?如:

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

同样的规则适用于 FileInputStream 吗?

最后(在链式版本中)是否有必要关闭fos

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

Assuming that I have to write to a binary file. I can use the following code

val fos = new FileOutputStream("fileName")

and then use

fos.write(bytes)

Is it always a good idea to chain it with a buffered stream? as in:

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

Does the same rule hold for FileInputStream?

Is it necessary to close fos in the end (in the chained version)?

EDIT: Found the answer to the last question. It is not necessary to close the inner streams, as mentioned here.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

彼岸花似海 2024-11-14 02:28:47

取决于您要写入的数据类型。当您不希望为写入的每个字节调用底层系统(执行实际写入的系统)时,可以使用 BufferedStream,而当您想要写入原始字节(例如在写入时)时,可以使用 FileOutputStream一个图像。

Depends on the type of data you want to write. BufferedStream is meant to be used when you don't want the underlying system (the one that performs the actual write) to be called for every byte written, while FileOutputStream is meant to be used when you want to write raw bytes such as when writing an image.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文