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

Dominando Java FileInputStream: Guía Práctica con Ejemplos de Código

Clase FileInputStream de Java

Este tutorial te guía a través de FileInputStream de Java, cubriendo sus métodos principales, uso práctico y ejemplos del mundo real.

La clase FileInputStream, parte del paquete java.io, te permite leer datos de bytes sin procesar desde archivos. Extiende la clase abstracta InputStream, proporcionando una implementación concreta para I/O de archivos.

Crear un FileInputStream

Importa la clase e instánciala ya sea con una ruta de archivo o un objeto File.

1. Usando una ruta de archivo

FileInputStream entrada = new FileInputStream("ruta/al/archivo.txt");

Esto abre un flujo vinculado al archivo en la ruta especificada.

2. Usando un objeto File

File archivo = new File("archivo.txt");
FileInputStream entrada = new FileInputStream(archivo);

Métodos Principales de FileInputStream

La clase implementa todos los métodos abstractos de InputStream y añade algunos propios. A continuación se muestran los más utilizados.

read()

Ejemplo: leyendo un archivo de texto byte a byte.

import java.io.FileInputStream;

public class Main {
    public static void main(String[] args) {
        try (FileInputStream entrada = new FileInputStream("input.txt")) {
            System.out.println("Datos en el archivo:");
            int byteLeido;
            while ((byteLeido = entrada.read()) != -1) {
                System.out.print((char) byteLeido);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Salida

Datos en el archivo: Esta es una línea de texto dentro del archivo.

available()

Retorna el número de bytes que se pueden leer sin bloqueo.

try (FileInputStream entrada = new FileInputStream("input.txt")) {
    System.out.println("Disponibles al inicio: " + entrada.available());
    entrada.read();
    entrada.read();
    entrada.read();
    System.out.println("Disponibles después de 3 lecturas: " + entrada.available());
}

Salida

Disponibles al inicio: 39
Disponibles después de 3 lecturas: 36

skip()

Avanza el flujo por un número especificado de bytes, descartándolos.

try (FileInputStream entrada = new FileInputStream("input.txt")) {
    entrada.skip(5); // saltar "Esta "
    int byteLeido;
    while ((byteLeido = entrada.read()) != -1) {
        System.out.print((char) byteLeido);
    }
}

Salida

es una línea de texto dentro del archivo.

close()

Cierra el flujo y libera recursos del sistema. Usar un bloque try-with-resources (como se muestra arriba) asegura que close() se llame automáticamente.

Métodos Adicionales de FileInputStream

MétodoDescripción
finalize()Asegura que close() se invoque antes de la recolección de basura.
getChannel()Retorna el FileChannel asociado con el flujo.
getFD()Proporciona el descriptor de archivo subyacente.
mark(int readlimit)Marca la posición actual para restablecerla después.
reset()Restablece el flujo a la última posición marcada.

Para más detalles, consulta la documentación oficial de Java: Java FileInputStream (documentación oficial).

Java

  1. Palabra clave final en Java: Variables, métodos y clases
  2. Operador instanceof en Java: Guía completa
  3. Entendiendo las clases anidadas estáticas en Java: Uso, diferencias y ejemplos
  4. Dominando las clases internas anónimas en Java: Definición, sintaxis y ejemplos prácticos
  5. Patrón Singleton en Java explicado: Cómo implementarlo y usarlo de forma segura
  6. Dominando la Reflexión en Java: Inspeccionando clases, métodos y campos en tiempo de ejecución
  7. Dominando ObjectOutputStream de Java: Serialización, Métodos y Ejemplos Prácticos
  8. Dominando Java BufferedReader: Manejo Eficiente de Flujos de Caracteres
  9. Dominando Java Scanner: Guía Completa con Ejemplos Prácticos
  10. Dominando Java Generics: Construyendo Código Reutilizable y Type-Safe
  11. Dominando las operaciones de archivos en Java con java.io: creación, lectura, escritura y eliminación