Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Clase Java FileInputStream

Clase Java FileInputStream

En este tutorial, aprenderemos sobre Java FileInputStream y sus métodos con la ayuda de ejemplos.

El FileInputStream clase de los java.io El paquete se puede usar para leer datos (en bytes) de archivos.

Extiende el InputStream clase abstracta.

Antes de aprender sobre FileInputStream , asegúrese de conocer los archivos Java.


Crear un FileInputStream

Para crear un flujo de entrada de archivos, debemos importar el java.io.FileInputStream paquete primero. Una vez que importamos el paquete, así es como podemos crear un flujo de entrada de archivos en Java.

1. Uso de la ruta al archivo

FileInputStream input = new FileInputStream(stringPath);

Aquí, hemos creado un flujo de entrada que se vinculará al archivo especificado por la ruta .

2. Usando un objeto del archivo

FileInputStream input = new FileInputStream(File fileObject);

Aquí, hemos creado un flujo de entrada que se vinculará al archivo especificado por fileObject .


Métodos de FileInputStream

El FileInputStream La clase proporciona implementaciones para diferentes métodos presentes en el InputStream clase.

método read()

Supongamos que tenemos un archivo llamado input.txt con el siguiente contenido.

This is a line of text inside the file.

Intentemos leer este archivo usando FileInputStream .

import java.io.FileInputStream;

public class Main {

  public static void main(String args[]) {

     try {
        FileInputStream input = new FileInputStream("input.txt");

        System.out.println("Data in the file: ");

        // Reads the first byte
        int i = input.read();

       while(i != -1) {
           System.out.print((char)i);

           // Reads next byte from the file
           i = input.read();
        }
        input.close();
     }

     catch(Exception e) {
        e.getStackTrace();
     }
  }
}

Salida

Data in the file:
This is a line of text inside the file.

En el ejemplo anterior, hemos creado un flujo de entrada de archivo llamado input . El flujo de entrada está vinculado con input.txt archivo.

FileInputStream input = new FileInputStream("input.txt");

Para leer datos del archivo, hemos utilizado el read() dentro del ciclo while.


método disponible()

Para obtener la cantidad de bytes disponibles, podemos usar el available() método. Por ejemplo,

import java.io.FileInputStream;

public class Main {

   public static void main(String args[]) {

      try {
         // Suppose, the input.txt file contains the following text
         // This is a line of text inside the file.
         FileInputStream input = new FileInputStream("input.txt");

         // Returns the number of available bytes
         System.out.println("Available bytes at the beginning: " + input.available());

         // Reads 3 bytes from the file
         input.read();
         input.read();
         input.read();

         // Returns the number of available bytes
         System.out.println("Available bytes at the end: " + input.available());

         input.close();
      }

      catch (Exception e) {
         e.getStackTrace();
      }
   }
}

Salida

Available bytes at the beginning: 39
Available bytes at the end: 36

En el ejemplo anterior,

  1. Primero usamos el available() para comprobar el número de bytes disponibles en el flujo de entrada del archivo.
  2. Entonces hemos usado el read() método 3 veces para leer 3 bytes del flujo de entrada del archivo.
  3. Ahora, después de leer los bytes, nuevamente hemos verificado los bytes disponibles. Esta vez los bytes disponibles se redujeron en 3.

método skip()

Para descartar y omitir el número especificado de bytes, podemos usar el skip() método. Por ejemplo,

import java.io.FileInputStream;

public class Main {

   public static void main(String args[]) {

      try {
         // Suppose, the input.txt file contains the following text
         // This is a line of text inside the file.
         FileInputStream input = new FileInputStream("input.txt");

         // Skips the 5 bytes
         input.skip(5);
         System.out.println("Input stream after skipping 5 bytes:");

         // Reads the first byte
         int i = input.read();
         while (i != -1) {
            System.out.print((char) i);

            // Reads next byte from the file
            i = input.read();
         }

         // close() method
         input.close();
      }
      catch (Exception e) {
         e.getStackTrace();
      }
   }
}

Salida

Input Stream after skipping 5 bytes:
is a line of text inside the file.

En el ejemplo anterior, hemos utilizado el skip() método para omitir 5 bytes de datos del flujo de entrada del archivo. Por lo tanto, los bytes que representan el texto "Este " no se lee desde el flujo de entrada.


Método cerrar()

Para cerrar el flujo de entrada del archivo, podemos usar close() método. Una vez que el close() se llama al método, no podemos usar el flujo de entrada para leer datos.

En todos los ejemplos anteriores, hemos utilizado el close() método para cerrar el flujo de entrada del archivo.


Otros métodos de FileInputStream

Métodos Descripciones
finalize() garantiza que el close() el método se llama
getChannel() devuelve el objeto de FileChannel asociado con el flujo de entrada
getFD() devuelve el descriptor de archivo asociado con el flujo de entrada
mark() marcar la posición en el flujo de entrada hasta el cual se han leído los datos
reset() devuelve el control al punto en el flujo de entrada donde se estableció la marca

Para obtener más información, visite Java FileInputStream (documentación oficial de Java).


Java

  1. Palabra clave final de Java
  2. Operador de instancia de Java
  3. Clase estática anidada de Java
  4. Clase anónima de Java
  5. Clase única de Java
  6. Reflexión Java
  7. Clase Java ObjectOutputStream
  8. Clase Java BufferedReader
  9. Clase de escáner Java
  10. Genéricos de Java
  11. Clase de archivo Java