English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este tutorial, aprenderemos sobre la clase InputStream de Java y sus métodos a través de un ejemplo.
La clase InputStream en el paquete java.io es una superclase abstracta que representa un flujo de entrada de bytes.
Dado que InputStream es una clase abstracta, no tiene uso por sí mismo. Sin embargo, sus subclases se pueden usar para leer datos.
Para utilizar las funciones de InputStream, podemos usar sus subclases. Sus subclases incluyen:
En el siguiente tutorial, aprenderemos todos estos subclases.
Para crear un InputStream, debemos primero importar el paquete java.io.InputStream. Después de importar el paquete, podemos crear el flujo de entrada.
// Crear un InputStream InputStream object1 = new FileInputStream();
Aquí, creamos un flujo de entrada utilizando FileInputStream. Esto se debe a que InputStream es una clase abstracta. Por lo tanto, no podemos crear objetos InputStream.
Nota: También podemos crear flujos de entrada desde otros subclases de InputStream.
La clase InputStream proporciona diferentes métodos implementados por sus subclases. A continuación se presentan algunos métodos comunes
read(); - Leer un byte de datos desde el flujo de entrada
read(byte[] array); - Leer bytes desde el flujo y almacenarlos en el array especificado
available(); - Devolver el número de bytes disponibles en el flujo de entrada
mark(); - Marcar la posición de los datos en el flujo de entrada
reset(); -Devolver el punto de control al punto en el que se estableció el marcador
markSupported();- Comprobar si el flujo admite los métodos mark() y reset()
skips(); - Saltar y descartar el número especificado de bytes en el flujo de entrada
close(); - Cerrar el flujo de entrada
A continuación se muestra la implementación del método InputStream utilizando la clase FileInputStream.
Supongamos que tenemos un archivo llamadoinput.txtEl archivo, que contiene el siguiente contenido.
Esta es una línea de texto en el archivo.
Vamos a intentar usar FileInputStream (subclase de InputStream) para leer este archivo.
import java.io.FileInputStream; import java.io.InputStream; public class Main { public static void main(String args[]) { byte[] array = new byte[100]; try { InputStream input = new FileInputStream("input.txt"); System.out.println("Bytes disponibles en el archivo:"); + input.available()); //Leer bytes desde el flujo de entrada input.read(array); System.out.println("Leer datos desde archivo:"); //Convertir el array de bytes a una cadena String data = new String(array); System.out.println(data); //Cerrar el flujo de entrada input.close(); } catch (Exception e) { e.getStackTrace(); } } }
Resultado de salida
Bytes disponibles en el archivo: 35 Datos leídos del archivo: Esta es una línea de texto en el archivo.
En el ejemplo anterior, creamos un flujo de entrada usando la clase FileInputStream. El flujo de entrada está asociado con un archivoinput.txtenlace.
InputStream input = new FileInputStream("input.txt");
Para obtenerinput.txtLeer datos de un archivo, hemos implementado estos métodos.
input.read(array); //Leer datos del flujo de entrada input.close(); //Cerrar el flujo de entrada