根据Java文档,InputStream类中mark方法的readlimit参数设置了“在标记位置变为无效之前可以读取的最大字节数”。我有一个名为sample.txt的文件,其内容为"hello"。我编写了以下代码:
输出是"h"。但是如果在mark方法之后读取多个字节,难道不应该因为无效的reset方法调用而出现错误吗?
import java.io.*;
public class InputStream{
public static void main (String[] args) throws IOException {
InputStream reader = new FileInputStream("sample.txt");
BufferedInputStream bis = new BufferedInputStream(reader);
bis.mark(1);
bis.read();
bis.read();
bis.read();
bis.read();
bis.reset();
System.out.println((char)bis.read());
}
}
输出是"h"。但是如果在mark方法之后读取多个字节,难道不应该因为无效的reset方法调用而出现错误吗?