El método skip (largo) de la clase BufferedInputStream en Java se usa para omitir n bytes de datos del flujo de entrada almacenado en búfer. El número de bytes omitidos se almacena y se devuelve como tipo largo. La condición de terminación implica cualquiera de las dos:
- Ya sea leyendo en una array de bytes hasta que se cubran n bytes o,
- Cuando finaliza la entrada, se cumple el flujo.
Sin embargo, si se pasa un valor negativo, no se produce ningún salto.
Sintaxis:
public long skip(long n)
Parámetros: este método acepta n de tipo largo que representa la cantidad de bytes necesarios para omitir del flujo de entrada.
Valor devuelto: este método devuelve el número de bytes omitidos como tipo largo.
Excepción: este método lanza IOException si este flujo de entrada se ha cerrado al invocar el método close() o si el flujo no admite la búsqueda, o si se produce cualquier otro error de E/S.
Los siguientes programas ilustran el método skip(long) en la clase BufferedInputStream en el paquete IO:
Programa 1: Suponga la existencia del archivo “c:/demo.txt”.
Java
// Java program to illustrate // BufferedInputStream skip(long) method import java.io.*; public class GFG { public static void main(String[] args) { // Create input stream 'demo.txt' // for reading containing text "GEEK" FileInputStream inputStream = new FileInputStream("c:/demo.txt"); // Convert inputStream to // bufferedInputStream BufferedInputStream buffInputStr = new BufferedInputStream( inputStream); // Read until a single // byte is available while(buffInputStr.available()>0) { // Skip single byte from the stream buffInputStr.skip(1); // Read next available byte and // convert to char char c = (char) buffInputStr.read(); // Print character System.out.print(" " + c); } } }
E K
Programa 2: Suponga la existencia del archivo “c:/demo.txt”.
Java
// Java program to illustrate // BufferedInputStream skip(long) method import java.io.*; public class GFG { public static void main(String[] args) { // Create input stream 'demo.txt' // for reading containing text "GEEKSFORGEEKS" FileInputStream inputStream = new FileInputStream("c:/demo.txt"); // convert inputStream to // bufferedInputStream BufferedInputStream buffInputStr = new BufferedInputStream( inputStream); // Read until a single // byte is available while(buffInputStr.available()>0) { // Skip single byte from the stream buffInputStr.skip(3); // Read next available byte and // convert to char char c = (char) buffInputStr.read(); // Print character System.out.print(" " + c); } } }
K R K
Referencias:
https://docs.oracle.com/javase/10/docs/api/java/io/BufferedInputStream.html#skip(long)