InputStream的mark和reset
2017-04-26 17:52
155 查看
mark就像书签一样,在这个BufferedReader对应的buffer里作个标记,以后再调用reset时就可以再回到这个mark过的地方。mark方法有个参数,通过这个整型参数,你告诉系统,希望在读出这么多个字符之前,这个mark保持有效。读过这么多字符之后,系统可以使mark不再有效,而你不能觉得奇怪或怪罪它。这跟buffer有关,如果你需要很长的距离,那么系统就必须分配很大的buffer来保持你的mark。
//eg.
//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相同
//eg.
//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相同
相关文章推荐
- 2011.5.20 DataInputStream mark/reset method demo
- 通过mark和reset方法重复利用InputStream
- linux系统中InputStream输入流的方法之reset()和mark()命令的注意事项
- InputStream复用,mark和reset
- BufferedInputStream的mark和reset。
- 输入流InputStream的reset()和mark()方法注意事项
- 使用InputStream的markSupported、mark和reset
- 【java】输入流InputStream的reset()和mark()方法注意事项
- 输入流InputStream的reset()和mark()方法注意事项
- BufferedInputStream mark() 和reset()
- 文件读取IO异常java.io.IOException: mark/reset not supported at java.io.InputStream.reset
- JAVA中mark()和reset()用法
- ByteBuffer的mark、position、limit、flip、reset,get方法介绍
- ByteBuffer的mark、position、limit、flip、reset,get方法介绍
- InputStream中mark方法使用
- NIO编程(mark与reset用法)
- BufferedInputStream中的mark()和reset()用法,及其中readlimit相关的问题
- JAVA IO中的mark reset
- IO 之 mark()、reset()
- JAVA中mark()和reset()用法