BufferedOutputStream与ByteArrayOutputStream

时间:2011-07-25 20:23:19

标签: java io bytearrayoutputstream

围绕ByteArrayOutputStream包装BufferedOutputStream是否有任何优势,而不是仅仅使用ByteArrrayOutputStream?

3 个答案:

答案 0 :(得分:15)

通常,BufferedOutputStream包装器主要用于避免频繁的磁盘或网络写入。分别编写大量小块比制作几个相当大的操作要昂贵得多。 ByteArrayOutputStream在内存中运行,所以我认为包装是没有意义的。

如果您想知道确切的答案,请尝试创建一个简单的性能测量应用程序。

答案 1 :(得分:2)

绝对没有。虽然BufferedWriter和BufferedReader确实提供了额外的功能,但你要对字符串进行操作。

答案 2 :(得分:0)

如果您想获得高性能,建议不要使用ByteArrayOutputStream,但一个有趣的功能是发送长度未知的消息。为了更好地理解这两种方法的工作原理,请参阅http://java-performance.info/java-io-bytearrayoutputstream/