Java.io.ByteArrayInputStream.mark() Method

Advertisements


Description

The java.io.ByteArrayInputStream.mark(int readAheadLimit) method sets the current mark position in the stream. By default the mark ByteArrayInputStream are marked at postion 0.

Declaration

Following is the declaration for java.io.ByteArrayInputStream.mark(int readAheadLimit) method:

public void mark(int readAheadLimit)

Parameters

  • readLimit -- This integer value for this class has no meaning.

Return Value

This method doesn't return any value.

Exception

  • NA

Example

The following example shows the usage of java.io.ByteArrayInputStream.mark(int readAheadLimit) method.

package com.tutorialspoint;

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("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();
      }   
   }
}

Let us compile and run the above program, this will produce the following result:

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



Advertisements
Advertisements