El método mark() es un método integrado de Java.io.ByteArrayInputStream que marca la posición actual del flujo de entrada. Establece el límite de lectura, es decir, el número máximo de bytes que se pueden leer antes de que la posición de la marca se vuelva inválida.
Sintaxis :
public void mark(int arg)
Parámetros : la función acepta un solo parámetro obligatorio arg que especifica el límite máximo de bytes que se pueden leer antes de que la posición de la marca se vuelva inválida.
Valor devuelto : la función no devuelve nada.
A continuación se muestra la implementación de la función anterior:
Programa 1:
// Java program to implement // the above function import java.io.*; public class Main { public static void main(String[] args) throws Exception { byte[] buf = { 5, 6, 7, 8, 9 }; // Create new byte array input stream ByteArrayInputStream exam = new ByteArrayInputStream(buf); // print bytes System.out.println(exam.read()); System.out.println(exam.read()); System.out.println(exam.read()); System.out.println("Mark() invocation"); // mark() invocation; exam.mark(0); System.out.println(exam.read()); System.out.println(exam.read()); } }
Producción:
5 6 7 Mark() invocation 8 9
Programa 2:
// Java program to implement // the above function import java.io.*; public class Main { public static void main(String[] args) throws Exception { byte[] buf = { 1, 2, 3 }; // Create new byte array input stream ByteArrayInputStream exam = new ByteArrayInputStream(buf); // print bytes System.out.println(exam.read()); System.out.println("Mark() invocation"); // mark() invocation; exam.mark(3); System.out.println(exam.read()); System.out.println(exam.read()); } }
Producción:
1 Mark() invocation 2 3
Referencia: https://docs.oracle.com/javase/10/docs/api/java/io/ByteArrayInputStream.html#mark(int)