Java 基础

基础教程 > IO流 > InputStream类

http://www.51gjie.com/java/1151.html

public void mark(int readlimit)
参数
readlimit - 可读取的最大字节数。

返回
不返回任何值

异常
IOException:I/O 错误

实例
public static void main(String[] args) throws Exception
{
    InputStream is = null;
    try
    {
        is = new FileInputStream("C://51gjie.txt");
        System.out.println("Char : " + (char) is.read());
        is.mark(0);//设置流位置重新为0
        System.out.println("Char : " + (char) is.read());
        if(is.markSupported())
        {
            is.reset();
            System.out.println("Char : " + (char) is.read());
        }
    }
    catch(Exception e)
    {}
    finally
    {
        if(is != null) is.close();
    }
}
1. InputStream的mark方法不执行任何操作,只是标记输入流的位置,如果要重新定位到这个位置,需要调用reset()方法才行。

2. 如果方法markSupported返回true,则流将以某种方式记住在调用mark之后读取的所有字节,并准备在每次调用方法reset时再次提供相同的字节。 但是,如果在调用复位之前从流中读取了超过readlimit个字节的数据,则该流根本不需要记住任何数据。
原文地址:https://www.cnblogs.com/kelelipeng/p/14543193.html