我尝试了以下代码来了解mark()
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());
}
}
}
它给出了以下输出: -
Char G
Char E
Char E
Char K
Char E
Char E
但是当我将mark()
方法的参数更改为 1,2 或任何数字时,它仍然显示相同的输出。有人可以向我解释方法的工作mark()
原理吗?