void mark(int readAheadLimit) abstract void close boolean markSupported 描述 所述java.io.Reader.mark(INT readAheadLimit)方法标记流中的当前位置。对reset()的后续调用将尝试将流重新定位到此点。 声明 以下是java.io.Reader.mark()方法的声明。 public void mark(int readAheadLimit) 参数 readAheadLimit - 限制在保留标记的同时可以读取的字符数。读取这么多字符后,尝试重置流可能会失败。 返回值 此方法不返回值。 异常 IOException - 如果流不支持mark(),或者发生某些其他I / O错误 实例 以下示例显示了java.io.Reader.mark()方法的用法。 package com.tutorialspoint; import java.io.*; public class ReaderDemo { public static void main(String[] args) { try { String s = "Hello World"; // create a new StringReader Reader reader = new StringReader(s); // read the first five chars for (int i = 0; i < 5; i++) { char c = (char) reader.read(); System.out.print("" + c); } // mark current position for maximum of 10 characters reader.mark(10); // read five more chars for (int i = 0; i < 6; i++) { char c = (char) reader.read(); System.out.print("" + c); } // reset back to the marked position reader.reset(); // change line System.out.println(); // read six more chars for (int i = 0; i < 6; i++) { char c = (char) reader.read(); System.out.print("" + c); } // close the stream reader.close(); } catch (IOException ex) { ex.printStackTrace(); } } } 让我们编译并运行上面的程序,这将产生以下结果 Hello World World abstract void close boolean markSupported