Java StringReader mark()方法
java.io.StringReader.mark(int readAheadLimit) 方法标记流中的当前位置。后续调用reset()将重新定位流到这一点。
1 语法
public void mark(int readAheadLimit)
2 参数
readAheadLimit:在仍保留该标记的情况下被读取的字符数限制。因为流的输入来自一个字符串,没有实际的限制,所以这个参数必须不为负,否则忽略。
3 返回值
无
4 示例
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* java.io.StringReader.mark(int readAheadLimit)方法的例子
*/
import java.io.*;
public class Demo {
public static void main(String[] args) {
String s = "Hello World";
// create a new StringReader
StringReader sr = new StringReader(s);
try {
// read the first five chars
for (int i = 0; i < 5; i++) {
char c = (char) sr.read();
System.out.print("" + c);
}
// mark the reader at position 5 for maximum 6
sr.mark(6);
// read the next six chars
for (int i = 0; i < 6; i++) {
char c = (char) sr.read();
System.out.print("" + c);
}
// reset back to marked position
sr.reset();
// read again the next six chars
for (int i = 0; i < 6; i++) {
char c = (char) sr.read();
System.out.print("" + c);
}
// close the stream
sr.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
输出结果为:
Hello World World
热门文章
优秀文章