Flujo de entrada de archivos Java en Ubuntu 20.04

Flujo De Entrada De Archivos Java En Ubuntu 20 04



“En este artículo, discutiremos diferentes formas de leer datos de archivos en una matriz de bytes utilizando la clase Java Input Stream. Esta clase representa un flujo ordenado de bytes de un archivo. Hay múltiples funciones en la clase Java Input Stream que se usan comúnmente y se discutirán en este artículo, como los métodos read(), available(), skip() y close(). Estos métodos se utilizan para leer archivos de diferentes extensiones, como archivos bin o txt, y se pueden modificar para obtener información de cualquier punto del archivo. Implementaremos estos métodos en el entorno Ubuntu 20.04 en este artículo.

Hay muchos más métodos de la clase File Input Stream que también son muy útiles para obtener datos de un archivo; algunos de ellos son int read(byte[] b), esta función lee datos del flujo de entrada hasta b.length bytes de longitud. File Channel obtiene el canal (): el objeto File Channel específico conectado a la secuencia de entrada del archivo se devuelve usándolo. Finalize() se usa para garantizar que se invoque la función close() cuando ya no haya referencia al flujo de entrada del archivo”.

Ejemplo 01: lectura de un solo byte de un archivo de texto usando los métodos read() y close() de la clase de flujo de entrada

Este ejemplo usa File Input Stream para leer un solo carácter e imprimir el contenido. Supongamos que tenemos un archivo llamado “archivo.txt” con el contenido que se muestra a continuación:









Supongamos que tenemos un archivo llamado 'archivo.txt' con el contenido que se muestra arriba. Intentemos ahora leer e imprimir el primer carácter del archivo.







Primero debemos importar java.io. Paquete de flujo de entrada de archivos para construir un flujo de entrada de archivos. Luego crearemos un nuevo objeto de File Input Stream que se vinculará al archivo especificado (file.txt) en la variable “f”.

En este ejemplo, usaremos el método 'int read()' de la clase Java File Input Stream, que se usa para leer un solo byte del archivo y guardarlo en la variable 'I'. A continuación, “System.out.print(char(i))” muestra el carácter correspondiente a ese byte.



El método f.close() cierra el archivo y la transmisión. Obtendremos el siguiente resultado después de compilar y ejecutar el script mencionado anteriormente, como podemos ver, solo se imprime la letra inicial del texto 'L'.

Ejemplo 02: Lectura de todo el contenido de un archivo de texto usando los métodos read() y close() de la clase Input Stream

En este ejemplo, leeremos y mostraremos todo el contenido de un archivo de texto; Como se muestra abajo:

Una vez más, importaremos java.io. Paquete de flujo de entrada de archivos para construir un flujo de entrada de archivos.

Primero, leeremos el primer byte del archivo y mostraremos el carácter correspondiente dentro del ciclo while. El ciclo while se ejecutará hasta que no queden bytes, es decir, el final del texto en el archivo. La línea 12 leerá el siguiente byte y el ciclo continuará hasta el último byte del archivo.

Después de compilar y ejecutar el código anterior, obtendremos los siguientes resultados. Como podemos ver, en la terminal se muestra todo el texto del archivo “Lorep Ipsum”.

Ejemplo 03: Determinación del número de bytes disponibles en un archivo de texto usando el método available() de la clase de flujo de entrada

En este ejemplo, utilizaremos la función 'disponible()' del flujo de entrada de archivos para determinar el número de bytes existentes en el flujo de entrada de archivos.

Primero, generamos un objeto de clase de flujo de entrada de archivo llamado 'a' con el siguiente código. En la línea 5, utilizamos el método 'disponible()' para determinar y mostrar la cantidad total de bytes disponibles en el archivo. Luego, de la línea 6 a la línea 8, usamos la función 'leer ()' tres veces. Ahora, en la línea 9, usamos el método 'disponible()' nuevamente para verificar y mostrar los bytes restantes.

Después de compilar y ejecutar el código, podemos ver que la primera línea de la salida muestra el número total de bytes disponibles en el archivo. La siguiente línea muestra el número de bytes disponibles al final del código, que es 3 bytes menos que los bytes disponibles al principio. Esto se debe a que usamos el método de lectura tres veces en nuestro código.

Ejemplo 04: Saltar bytes de un archivo de texto para leer datos desde un punto específico utilizando el método skip() de la clase de flujo de entrada

En este ejemplo, usaremos el método 'skip(x)' de File Input Stream, que se usa para ignorar y descartar el número dado de bytes de datos del flujo de entrada.

En el siguiente código, primero, creamos un flujo de entrada de archivo y lo almacenamos en la variable 'a'. A continuación, hemos utilizado el método “a.skip(5)”, que omitirá los primeros 5 bytes del archivo. A continuación, imprimimos los caracteres restantes del archivo usando el método 'leer()' dentro de un ciclo while. Finalmente, cerramos el flujo de entrada del archivo mediante el método 'cerrar ()'.

A continuación se muestra la captura de pantalla de la terminal después de compilar y ejecutar el código. Como podemos ver, solo se muestra 'Ipsum' ya que hemos saltado los primeros 5 bytes usando el método 'skip()'.

Conclusión

En este artículo, hemos discutido los usos de la clase File Input Stream y sus diferentes métodos; leer(), disponible(), saltar() y cerrar(). Usamos estos métodos para leer el primer elemento de un archivo usando los métodos read() y close(). Luego leemos todo el archivo a través del enfoque iterativo y usando los mismos métodos. Luego usamos el método available() para determinar la cantidad de bytes presentes al comienzo y finalización del archivo. Después de eso, usamos el método skip() para saltar varios bytes antes de leer el archivo, lo que nos permitió obtener los datos específicos que necesitábamos.