我是一名有用的助手,我可以为您翻译文本。
此方法在输入流中标记一个位置,以便调用reset()方法时可以“重置”流。参数readlimit是设置标记后可以从流中读取的字节数,在调用reset()方法之前。例如,如果使用10个读取限制调用mark(),则在调用reset()方法之前从流中读取11个字节,则标记无效,并且不需要记住流对象实例中的标记。
请注意,此方法可以记住的字节数可能大于内部读取缓冲区的大小,并且不依赖于下属流是否支持标记/重置功能。
覆盖: FilterInputStream类中的mark方法
参数: readlimit - 标记无效之前可读取的字节数**
我的代码如下:
在上面的代码中,我将marklimit设置为1,但根据文档,标记没有进入无效状态。
有没有人能用一个简单的例子清楚地解释一下设置这个变量的实际目的是什么?
提前感谢。
我刚接触Java流,想要读取特定文件的内容并从开头开始读取。我已经创建了一个BufferedInputStream,但是关于BufferedInputStream.mark(int markLimit)方法的说明让我感到困惑。
说明如下:
public void mark(int readlimit)
此方法在输入流中标记一个位置,以便调用reset()方法时可以“重置”流。参数readlimit是设置标记后可以从流中读取的字节数,在调用reset()方法之前。例如,如果使用10个读取限制调用mark(),则在调用reset()方法之前从流中读取11个字节,则标记无效,并且不需要记住流对象实例中的标记。
请注意,此方法可以记住的字节数可能大于内部读取缓冲区的大小,并且不依赖于下属流是否支持标记/重置功能。
覆盖: FilterInputStream类中的mark方法
参数: readlimit - 标记无效之前可读取的字节数**
我的代码如下:
public class Test {
public static void main(String[] args) throws IOException {
File resource = new File("beforeFix.txt");
FileInputStream fileInputStream = new FileInputStream(resource);
BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
int i = bufferedInputStream.read();
bufferedInputStream.mark(1);
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
bufferedInputStream.reset();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
bufferedInputStream.reset();
}
}
在上面的代码中,我将marklimit设置为1,但根据文档,标记没有进入无效状态。
有没有人能用一个简单的例子清楚地解释一下设置这个变量的实际目的是什么?
提前感谢。