Java ByteArrayInputStream marksupported()方法

java.io.ByteArrayInputStream.markSupported() 用于测试输入流的mark()和reset()方法。

1 语法

public boolean markSupported()

2 参数

3 返回值

此方法为ByteArrayInputStream返回true

4 示例 

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * java.io.ByteArrayInputStream.markSupported()方法的例子
 */
import java.io.ByteArrayInputStream;
import java.io.IOException;

public class Demo {
    public static void main(String[] args) throws IOException {
        byte[] buf = {65, 66, 67, 68, 69};
        ByteArrayInputStream bais = null;

        try {
            // create new byte array input stream
            bais = new ByteArrayInputStream(buf);

            // test support for mark() and reset() methods invocation
            boolean isMarkSupported = bais.markSupported();
            System.out.println("Is mark supported : "+isMarkSupported);
            System.out.println("Following is the proof:");

            // print bytes
            System.out.println("Byte read "+ bais.read());
            System.out.println("Byte read "+ bais.read());
            System.out.println("Byte read "+ bais.read());

            System.out.println("Mark() invocation");

            // mark() invocation;
            bais.mark(0);
            System.out.println("Byte read "+ bais.read());
            System.out.println("Byte read "+ bais.read());

            System.out.println("Reset() invocation");

            // reset() invocation
            bais.reset();
            System.out.println("Byte read "+ bais.read());
            System.out.println("Byte read "+ bais.read());

        } catch(Exception e) {
            // if I/O error occurs
            e.printStackTrace();
        } finally {
            if(bais!=null)
                bais.close();
        }
    }
}

输出结果为:

Is mark supported : true
Following is the proof:
Byte read 65
Byte read 66
Byte read 67
Mark() invocation
Byte read 68
Byte read 69
Reset() invocation
Byte read 68
Byte read 69

热门文章

优秀文章