Java InputStream 的mark 和reset操作
mark用于标记当前位置;在读取一定数量的数据(小于readlimit的数据)后使用reset可以回到mark标记的位置。
FileInputStream不支持mark/reset操作;BufferedInputStream支持此操作;
mark(readlimit)的含义是在当前位置作一个标记,制定可以重新读取的最大字节数,也就是说你如果标记后读取的字节数大于readlimit,你就再也回不到回来的位置了。
通常InputStream的read()返回-1后,说明到达文件尾,不能再读取。除非使用了mark/reset
本文详细介绍了Java中InputStream的mark和reset操作。mark用于标记当前读取位置,reset则允许程序返回到之前标记的位置继续读取。值得注意的是,FileInputStream不支持此功能,而BufferedInputStream则支持。同时,文章还解释了mark(readlimit)的具体含义,即标记位置后所能重新读取的最大字节数。
3362

被折叠的 条评论
为什么被折叠?



