以下哪一种方法在内存利用和性能方面更有效:
ByteArrayOutputStream写到FileOutputStream i.e . baos.writeTo(output);或ByteArrayOutputStream转换为ByteArray,然后写入FileOutputStream I. output.write(baos.toByteArray());我分析并发现,第二种方法是在编写文件时占用更多的内存,因为baos.toByteArray()创建了一个新分配的Byte数组。
请建议一下。你认为使用output.write(baos.toByteArray())有什么好处吗?
FileOutputStream output = new FileOutputStream(path);
ByteArrayOutputStream baos = getBaos();
baos.writeTo(output);
//output.write(baos.toByteArray());发布于 2019-04-16 10:05:08
writeTo将直接写入它的内部缓冲区到OUT (即FileOutputStream),而写(bao.toByteArray())比正确分析的writeTo花费更多的时间。
https://stackoverflow.com/questions/55705411
复制相似问题