void mark(int readAheadLimit) void close boolean markSupported 描述 java.io.BufferedReader.mark(int) 方法标记流中的当前位置。调用reset()会将流重新定位到此点。 声明 以下是 java.io.BufferedReader.mark() 方法的声明。 public void mark(int readAheadLimit) 参数 readAheadLimit − n保留标记时要读取的字符数。 返回值 该方法不返回任何值。 异常 IOException - 如果发生I / O错误。 IllegalArgumentException - 如果readAheadLimit <0。 实例 以下示例显示了java.io.BufferedReader.mark()方法的用法。 package com.tutorialspoint; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStream; import java.io.InputStreamReader; public class BufferedReaderDemo { public static void main(String[] args) throws Exception { InputStream is = null; InputStreamReader isr = null; BufferedReader br = null; try { // open input stream test.txt for reading purpose. is = new FileInputStream("c:/test.txt"); // create new input stream reader isr = new InputStreamReader(is); // create new buffered reader br = new BufferedReader(isr); // reads and prints BufferedReader System.out.println((char)br.read()); System.out.println((char)br.read()); // mark invoked at this position br.mark(26); System.out.println("mark() invoked"); System.out.println((char)br.read()); System.out.println((char)br.read()); // reset() repositioned the stream to the mark br.reset(); System.out.println("reset() invoked"); System.out.println((char)br.read()); System.out.println((char)br.read()); } catch (Exception e) { // exception occurred. e.printStackTrace(); } finally { // releases any system resources associated with the stream if(is!=null) is.close(); if(isr!=null) isr.close(); if(br!=null) br.close(); } } } 假设我们有一个文本文件c:/test.txt,它具有以下内容。此文件将用作示例程序的输入 ABCDE 让我们编译并运行上面的程序,这将产生以下结果 A B mark() invoked C D reset() invoked C D void close boolean markSupported