Método FileInputStream skip() en Java con ejemplos

La clase FileInputStream es bastante útil para leer datos de un archivo en forma de secuencia de bytes. FileInputStream está diseñado para leer secuencias de bytes sin procesar, como imágenes, audio, video, etc. Para leer secuencias de caracteres, se recomienda FileReader . Se introdujo por primera vez en JDK 1.0.

Método FileInputStream skip()

El método skip(n) en FileInputStream es bastante útil ya que descarta los n bytes de datos desde el comienzo del flujo de entrada. Podemos entender su funcionamiento considerando el siguiente ejemplo,

Estamos leyendo un flujo de caracteres a través de FileInputStream y queremos leerlo después de omitir los primeros ocho caracteres del flujo. Deje que la string sea » GeeksforGeeks «, por lo que después de omitir los primeros ocho caracteres, nuestra string se convertirá en » Geeks «.

El método skip() es útil para lograr la tarea mencionada anteriormente. Este método se define en la clase FileInputStream del paquete Java.io.

El paquete Java I/O ayuda al usuario a realizar todas las operaciones de entrada y salida. Estos flujos admiten todos los objetos, tipos de datos, caracteres, archivos, etc., para ejecutar las operaciones de E/S por completo.

Sintaxis:

Input_File_Stream.skip(n)
Input_File_Stream: The file input stream.

Parámetros:

  • n − Un entero no negativo.
  • Bytes que se van a omitir de una secuencia de caracteres.

Valor devuelto: Devuelve el número real de bytes omitidos.

Excepción: IOException : si n es un número entero negativo o se produce un error de E/S.

Ejemplo 1:

Java

// Java program to demonstrate the working
// of skip() method in FileInputStream
  
// Importing the class files
// defined under io Package
import java.io.FileInputStream;
import java.io.IOException;
  
// Public class
public class GeeksforGeeks {
  
    // Main method
    public static void main(String[] args)
        throws IOException
    {
  
        FileInputStream inputFileStream = null;
  
        // Variables to store the fifth character
        int integerValue = 0;
        char characterValue;
        try {
            // Create new file input stream
            inputFileStream = new FileInputStream(
                "C:\\Users\\harsh\\Desktop\\GFG\\inputFile.txt");
  
            // Skip 4 bytes from the beginning
            // in the file input stream
            inputFileStream.skip(4);
  
            // Read bytes from this stream
            // (first character only)
            integerValue = inputFileStream.read();
  
            // Converting integer to character type
            characterValue = (char)i;
  
            // Print the character
            System.out.print("Character read: "
                             + characterValue);
        }
        catch (Exception exception) {
  
            // If any error occurs
            exception.printStackTrace();
        }
        finally {
  
            // Releasing all system resources
            if (inputFileStream != null)
                inputFileStream.close();
        }
    }
}
// This code is contributed by Bhuwanesh

Pasos para la compilación en un sistema local:

1. Hemos guardado el programa anterior con el nombre » GeeksforGeeks » localmente:

2. Ahora vamos a crear un archivo de texto llamado «archivo de entrada «:

3. Necesitamos ingresar algún texto dentro del archivo de texto creado. Como ejemplo, hemos escrito » GeeksforGeeks » en el archivo de texto.

4. Ahora compilaremos nuestro programa a través del compilador javac usando el símbolo del sistema:

javac GeeksforGeeks.java

5. Como puede ver a continuación , se genera el archivo de código de bytes GeeksforGeeks.class . Ahora ejecuta el programa usando el siguiente comando:

java GeeksforGeeks

Producción:

Descripción de salida: Dado que hemos pasado 4 como argumento a la función skip() en el programa. Como podemos ver en la salida del programa, los primeros cuatro caracteres (o bytes) se saltan (‘ G ‘, ‘ e ‘, ​​’ e ‘, ​​’ k ‘). El quinto carácter en GeekforGeeks es ‘ s ‘, por lo tanto, ‘ s ‘ está impreso en la consola.

Ejemplo 2: 

Java

// Java program to demonstrate the working
// of skip() method in FileInputStream
  
// Importing the FileInputStream class
import java.io.FileInputStream;
// Importing the IOException class
import java.io.IOException;
  
// Public class
public class GeeksforGeeks {
  
    // Main method
    public static void main(String[] args)
        throws IOException
    {
  
        FileInputStream inputFileStream = null;
        int integerValue = 0;
        char characterValue;
        try {
            // Create new file input stream
            // Give the full path of the input file
            inputFileStream = new FileInputStream(
                "C:\\Users\\harsh\\Desktop\\GFG\\inputFile.txt");
  
            // Skip 8 bytes from the beginning in the file
            // input stream
            inputFileStream.skip(8);
  
            // Print on console
            System.out.print("String read: ");
  
            // Iterate till EOF is not reached
            while ((integerValue = inputFileStream.read())
                   != -1) {
  
                // converts integer to character
                characterValue = (char)i;
  
                // prints character
                System.out.print(characterValue);
            }
        }
        catch (Exception exception) {
  
            // If any error occurs
            exception.printStackTrace();
        }
        finally {
  
            // Releasing all system resources
            if (inputFileStream != null)
                inputFileStream.close();
        }
    }
}
// This code is contributed by Bhuwanesh

Para compilar el programa anterior en un sistema local, podemos seguir los mismos pasos que hemos mencionado en el Ejemplo 1. Después de la compilación, podemos ejecutar el programa y genera la siguiente salida.

Producción:

Descripción de salida: como puede ver en la salida, se omiten los primeros ocho caracteres (‘ G ‘, ‘ e ‘, ‘ e ‘, ‘ k ‘, ‘ s ‘, ‘ f ‘, ‘ o ‘, ‘ r ‘). La string restante es » Geeks «, por lo que se imprime en la consola.

Publicación traducida automáticamente

Artículo escrito por bhuwanesh 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 *