[url]http://hi.baidu.com/lee_eva/blog/item/e60803dba2d00ad1b6fd4896.html[/url]
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用于标记当前位置;在读取一定数量的数据(小于readlimit的数据)后使用reset可以回到mark标记的位置。
FileInputStream不支持mark/reset操作;BufferedInputStream支持此操作;
mark(readlimit)的含义是在当前位置作一个标记,制定可以重新读取的最大字节数,也就是说你如果标记后读取的字节数大于readlimit,你就再也回不到回来的位置了。
通常InputStream的read()返回-1后,说明到达文件尾,不能再读取。除非使用了mark/reset
本文深入探讨了JavaInputStream中的mark和reset操作,解释了mark的作用是标记当前位置,reset则可以将输入流恢复到mark标记的位置。讨论了不同类型的输入流(如FileInputStream、BufferedInputStream)对mark/reset的支持情况,并特别强调了mark(readlimit)的用法及限制。
9981

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



