JAVA 中InputStream的问题

JAVA 中InputStream在没有mark时是不能reset的,

1.那么是否可以理解为流本是不可回退的?除非mark以后才会保留标记位后的已读字节?

2.如果流是不可回退的,在没close 流的情况下,read过的字节是否会被丢弃,还是一直存在于流中,占用内存?

在这里你可以看一看回退输入流 http://blog.longjiazuo.com/archives/4462
IO流属于堆外内存,阅读之后只是会记录当前读取位置

流被关闭后就被丢弃掉了

流被关闭了就会回退

要想回流用nio,有几个方法都可以实现

个人觉得流就是像流水一样,你只能依次往下获取数据。

流失不可会退的,如果不管close就会一直占用内存