Método de salto (largo) BufferedInputStream en Java con ejemplos

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);
         }
    }
}
Producción: 

 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);
         }
    }
}
Producción: 

K R K

 

Referencias:  
https://docs.oracle.com/javase/10/docs/api/java/io/BufferedInputStream.html#skip(long)
 

Publicación traducida automáticamente

Artículo escrito por pp_pankaj y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *