根据JAVA官方文档的描述,mark(int readlimit)方法表示,标记当前位置,并保证在mark以后最多可以读取readlimit字节数据,mark标记仍有效.如果在mark后读取超过readlimit字节数据,mark标记就会失效,调用reset()方法会有异常. 但实际的运行情况却和JAVA文档中的描述并不完全相符. 有时候在BufferedInputStream类中调用mark(int readlimit)方法后,即使读取超过readlimit字节的数据,mark标记仍有效,仍然…