前面讲到的文件字节流,文件字符流,他们的源都是来自于pc硬盘。
本节要讲的字节数组流的源是来自于内存或网络。
它更合适用来处理来自网络的字节流。
由于源并不是来自于硬盘,所以流无需关闭。(写了关闭也不影响)
由于内存是有限的,为了避免内存占用过高,要对流进行一定限制。
任何东西包括对象,都可以转为字节数组,所以字节数组流是相当的方便。
数据来源不是文件,所以无需FileNotFoundException
由于字节数组输出流ByteArrayOutputStream它有新增方法,所以不能实现多态。(待验证20191123。)
字节数组输出流,它不能与文件对接,如果需要,则需要用以下方式对接文件:
字节数组输出流调用toByteArray()->字节文件输出流
不能与文件直接对接,所以字节数组输出流能做的就是调用toByteArray()返回一个字节数组(来自于流中的数据)。
流对接 练习:本地文件-(FileInputStream)->程序-(ByteArrayOutputStream)->数组-(ByteArrayInputStream)->程序-(FileOutputStream)->文件
原文:https://www.cnblogs.com/Scorpicat/p/11916842.html