void mark(int readlimit) int getLineNumber int read 描述 所述java.io.LineNumberInputStream.mark(int readlimit)方法标志着该输入流的当前位置。随后对reset方法的调用会重新定位此流,以便后续读取重新读取相同的字节。 声明 以下是java.io.LineNumberInputStream.mark(int readlimit)方法的声明 public void mark(int readlimit) 参数 readlimit - 标记位置变为无效之前可读取的最大字节数限制。 返回值 该方法不返回任何值。 异常 NA 实例 以下示例显示了java.io.LineNumberInputStream.mark(int readlimit)方法的用法。 package com.tutorialspoint; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.LineNumberInputStream; public class LineNumberInputStreamDemo { public static void main(String[] args) throws IOException { LineNumberInputStream lnis = null; FileInputStream fis = null; int i,j; char c; try { // create new input streams fis = new FileInputStream("C:/test.txt"); lnis = new LineNumberInputStream(fis); // reads and prints data from input stream System.out.println((char)lnis.read()); System.out.println((char)lnis.read()); // mark invoked at this position lnis.mark(0); System.out.println("mark() invoked"); System.out.println((char)lnis.read()); System.out.println((char)lnis.read()); // if this input stream supports mark() an reset() if(lnis.markSupported()) { // reset() repositioned the stream to the mark lnis.reset(); System.out.println("reset() invoked"); System.out.println((char)lnis.read()); System.out.println((char)lnis.read()); } } catch(Exception e) { // if any error occurs e.printStackTrace(); } finally { // closes the stream and releases any system resources if(fis!=null) fis.close(); if(lnis!=null) lnis.close(); } } } 假设我们有一个文本文件c:/test.txt,它具有以下内容。此文件将用作示例程序的输入 ABCDE 让我们编译并运行上面的程序,这将产生以下结果 A B mark() invoked C D int getLineNumber int read