流的来源或目的地并不一定是文件,也可以是内存中的一块空间,例如一个字节数组。java.io.ByteArrayInputStream、java.io.ByteArrayOutputStream就是将字节数组当作流输入来源、输出目的地的类。
java.io.ByteArrayInputStream将一个字节数组当作流输入的来源,而java.io.ByteArrayOutputStream则可以将一个字节数组当作流输出目的地。------------摘自百度知道
简言之,临时输入一个某一个对象并且需要输出的时候,又不知道输入和输出地的时候,用它效率高!
需要注意的是对象一定要记得序列化!
参考文档:https://www.cnblogs.com/yixiu868/p/8144670.html