[英]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.