gpt4 book ai didi

java - 从内存使用和性能的角度来看,ByteArrayOutputStream 与 FileOutputStream

转载 作者:搜寻专家 更新时间:2023-10-31 20:28:57 27 4
gpt4 key购买 nike

我想做的是从网络服务器下载一个文件。当我跟踪代码时,两个程序员在同一场景中使用不同的 ByteArrayOutputStream 和 FileOutputStream 来下载文件。这些是

  • 案例一:使用ByteArrayOutputStream创建文件并下载。

  • 案例2:使用FileOutputStream在web服务器下临时创建一个文件下载下来,然后删除这个文件。

PS:案例 2 文件比案例 1 文件大。

我可以在这两种情况下都使用 ByteArrayOutputStream 吗?在第二种情况下是否打算使用 FileOutputStream ?我想知道的是从性能和内存的角度来看。提前致谢。

最佳答案

结合鲍里斯蜘蛛和彼得劳瑞的答案:ByteArrayOutputStream 在内存中,FileOutputStream 是一个文件。其含义是显而易见的。 ByteArrayOutputStream 速度更快,但考虑下载一个 10Gb 的文件...这似乎会在程序中打开一个很好的安全漏洞 - 只需为其提供一个大文件。此外,ByteArrayOutputStream 限制在 2GB 以下,因为它使用 byte[]

关于java - 从内存使用和性能的角度来看,ByteArrayOutputStream 与 FileOutputStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17835620/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com