繁体   English   中英

ByteArrayOutputStream vs FileOutputStream从内存使用和性能的角度来看

[英]ByteArrayOutputStream vs FileOutputStream from memory usage and performance point of view

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

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

  • 案例2 :使用FileOutputStream在Web服务器下临时创建文件并下载然后删除该文件。

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

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

结合Boris The Spider和Peter Lawrey的回答: ByteArrayOutputStream在内存中, FileOutputStream是一个文件。 其影响是显而易见的。 ByteArrayOutputStream更快但考虑下载一个10Gb文件......这似乎在程序中打开了一个很好的安全漏洞 - 只需要输入一个大文件。 ByteArrayOutputStream也限制在2GB以下,因为它使用了一个byte []

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM