void mark(int readlimit)
描述 (Description)
java.io.LineNumberInputStream.mark(int readlimit)方法标记此输入流中的当前位置。 随后对reset方法的调用会重新定位此流,以便后续读取重新读取相同的字节。
声明 (Declaration)
以下是java.io.LineNumberInputStream.mark(int readlimit)方法的声明 -
public void mark(int readlimit)
参数 (Parameters)
readlimit - 标记位置变为无效之前可读取的最大字节数限制。
返回值 (Return Value)
该方法不返回任何值。
异常 (Exception)
NA
例子 (Example)
以下示例显示了java.io.LineNumberInputStream.mark(int readlimit)方法的用法。
package com.iowiki;
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