Java ByteArrayInputStream reset()方法及示例

ByteArrayInputStream类reset()方法

  • reset()方法在java.util包中可用。

  • reset()方法用于将此ByteArrayInputStream重置为上次标记的位置,并且在没有用户定义标记位置的情况下将其重置为默认标记位置,即0。

  • reset()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • 在重置此流时,reset()方法不会引发异常。

语法:

    public void reset();

参数:

  • 它不接受任何参数。

返回值:

该方法的返回类型为void,不返回任何内容。

示例

//Java程序演示示例 
//方法
//ByteArrayInputStream-

import java.io.*;

public class ResetBAIS {
    public static void main(String[] args) throws Exception {
        byte[] by = {
            97,
            98,
            98,
            99
        };

        //实例化ByteArrayInputStream- 
        ByteArrayInputStream byte_s = new ByteArrayInputStream(by);

        //通过使用available()方法是
        //返回编号 剩余字节数 
        //阅读
        Integer n_byte = byte_s.available();
        System.out.println("Left avail bytes = " + n_byte);

        //从流中读取字符
        char ch1 = (char) byte_s.read();
        char ch2 = (char) byte_s.read();
        char ch3 = (char) byte_s.read();

        System.out.println("ch1: " + ch1);
        System.out.println("ch2 : " + ch2);

        System.out.println("byte_s.mark(5): ");
        //通过使用mark()方法isto-
        //设置限制的字节数
        //被阅读 
        byte_s.mark(5);
        System.out.println("ch3: " + ch3);

        System.out.println("buff_str.reset(): ");

        //的位置
        //流到最后一个位置
        // mark()方法称为
        byte_s.reset();

        //从书架上读取
        char ch4 = (char) byte_s.read();
        char ch5 = (char) byte_s.read();

        //显示字符
        System.out.println("ch4: " + ch4);
        System.out.println("ch5: " + ch5);
        byte_s.close();
    }
}

输出结果

Left avail bytes = 4
ch1: a
ch2 : b
byte_s.mark(5):
ch3: b
buff_str.reset():
ch4: c
ch5: ?