关于mark的用法

hrb52 2005-05-11 10:17:54
我在看BufferedReader中有个mark方法,我不明白是干吗的。谁我解释一下阿?最好附上简单的例子。谢谢
...全文
205 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hrb52 2005-05-15
  • 打赏
  • 举报
回复
谢谢 chongkai
你对我的帮助很大。
再次感谢!
xiangqianchong 2005-05-12
  • 打赏
  • 举报
回复
mark就像书签一样,在这个BufferedReader对应的buffer里作个标记(xxx到此一游 哈哈),以后再调用reset时就可以再回到这个mark过的地方。
horisly 2005-05-11
  • 打赏
  • 举报
回复
呵呵,我 mark
chongkai 2005-05-11
  • 打赏
  • 举报
回复
mark就像书签一样,在这个BufferedReader对应的buffer里作个标记,以后再调用reset时就可以再回到这个mark过的地方。
mark方法有个参数,通过这个整型参数,你告诉系统,希望在读出这么多个字符之前,这个mark保持有效。读过这么多字符之后,系统可以使mark不再有效,而你不能觉得奇怪或怪罪它。这跟buffer有关,如果你需要很长的距离,那么系统就必须分配很大的buffer来保持你的mark。

这个方法可以这么用吧,我想。读的时候,你读出了若干字符,做了某些判断或处理,发现还是从头来过比较好,也就是退回到原来的位置,再读一遍。

//reader is a BufferedReader

reader.mark(50);//要求在50个字符之内,这个mark应该保持有效,系统会保证buffer至少可以存储50个字符
int a = reader.read();//读了一个字符
int b = reader.read();//又读了一个字符

//做了某些处理,发现需要再读一次
reader.reset();
reader.read();//读到的字符和a相同
reader.read();//读到的字符和b相同

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧