void mark(int readAheadLimit) void close boolean markSupported 描述 所述java.io.StringReader.mark(INT readAheadLimit)方法标记流中的当前位置。对reset()的后续调用将重新定位流到此点。 声明 以下是java.io.StringReader.mark()方法的声明。 public void mark(int readAheadLimit) 参数 readAheadLimit - 限制在保留标记的同时可以读取的字符数。因为流的输入来自字符串,所以没有实际限制,因此该参数不能为负,否则会被忽略。 返回值 此方法不返回值。 异常 IllegalArgumentException - 如果readAheadLimit <0。 IOException - 如果发生I / O错误。 实例 以下示例显示了java.io.StringReader.mark()方法的用法。 package com.tutorialspoint; import java.io.*; public class StringReaderDemo { 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 void close boolean markSupported