Java Java.io.ByteArrayInputStream.reset()方法

  • 描述

    java.io.ByteArrayInputStream.reset()方法将缓冲区重置为最后标记的位置。除非明确指定标记,否则标记位置为0。
  • 声明

    以下是java.io.ByteArrayInputStream.reset()方法的声明-
     public void reset()
  • 参数

    不适用
  • 返回值

    此方法不返回任何值。
  • 异常

    不适用
  • 例子

    以下示例显示java.io.ByteArrayInputStream.reset()方法的用法。
     
    package com.jc2182;
    import java.io.ByteArrayInputStream;
    import java.io.IOException;
    
    public class ByteArrayInputStreamDemo {
       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);
             
             // 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("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();
          }   
       }
    }
    
    让我们编译并运行以上程序,这将产生以下结果-
     
    Byte read 65
    Byte read 66
    Byte read 67
    Byte read 68
    Byte read 69
    Reset() invocation
    Byte read 65
    Byte read 66