java中神奇的流。。。
按照流本身所代表的抽象含义,数据一旦流过去,就无法被再次使用。如果直接把一个InputStream类的对象传递给一个接收者使用之后再传递给另外一个接收者,后者不能读取到流中的任何数据,因为流的当前读取位置已经到了末尾。
这里就涉及到数据的使用方式和数据本身的区别:
InputStream类表示的是数据的使用方式,而并不是数据本身。两者的根本区别在于每个InputStream类的对象作为Java虚拟机中的对象,是有其内部状态的,无法被简单地复用;而纯粹的数据本身是无状态的。
原理解释:https://blog.csdn.net/chen88358323/article/details/50263293