Kushagra
Kushagra

Reputation: 89

Argument in mark method of ByteArrayInputStream

I tried the following code to understand the working of mark() method of ByteArrayInputStream.

class tryByteArray  
{  
    public static void main(String args[]) throws Exception  
    {  
        byte[] buffer={71, 69, 69, 75, 83};  
        try(ByteArrayInputStream obj=new ByteArrayInputStream(buffer))  
        {  
            System.out.println("\nChar "+(char)obj.read());  
            obj.mark(0);  
            System.out.println("Char "+(char)obj.read());  
            System.out.println("Char "+(char)obj.read());  
            System.out.println("Char "+(char)obj.read());  
            obj.reset();  
            System.out.println("\nChar "+(char)obj.read());  
            System.out.println("Char "+(char)obj.read());  
          }  
    }  
}

It gave the following output:-

Char G
Char E
Char E
Char K

Char E
Char E  

But when I changed the argument of mark() method to 1,2 or any number it still shows the same output. Can someone explain to me the working of mark() method?

Upvotes: 0

Views: 101

Answers (1)

user11044402
user11044402

Reputation:

From the docs:

Note: The readAheadLimit for this class has no meaning.

Edit: Also take a look at the source code.

Upvotes: 1

Related Questions