La clase FileInputStream en Java se utiliza para leer datos de un archivo en forma de bytes. Es ideal para leer datos binarios como imágenes o archivos de audio. Para leer archivos de texto es mejor usar Lector de archivos.
- Acceso directo: Lee directamente el contenido del archivo desde el disco sin almacenamiento en búfer.
- Independiente de plataforma: Puede funcionar en cualquier sistema operativo.
Declaración
La clase FileInputStream extiende la Flujo de entrada clase, lo que significa que hereda métodos para leer datos de bytes sin procesar de archivos.
la clase pública FileInputStream extiende InputStream
Ejemplo: Clase FileInputStream para leer datos del archivo.
Javaimport java.io.*; public class Geeks{ public static void main(String[] args){ // Use try-with-resources to automatically close the // stream try (FileInputStream fi = new FileInputStream('file1.txt')) { // Display file channel information System.out.println('Channel: ' + fi.getChannel()); // Display file descriptor System.out.println('File Descriptor: ' + fi.getFD()); // Show available bytes in the stream System.out.println('Number of remaining bytes: ' + fi.available()); // Skip first few bytes fi.skip(4); System.out.println('File Contents:'); // Read and print file content int ch; while ((ch = fi.read()) != -1) { System.out.print((char)ch); } } catch (FileNotFoundException e) { System.out.println( 'File not found: Ensure 'file1.txt' exists in the working directory.'); } catch (IOException e) { System.out.println( 'An error occurred while reading the file: ' + e.getMessage()); } } }
Producción:
ProducciónConstructores de Clase FileInputStream
1. FileInputStream (nombre de cadena)
Crea una secuencia de archivo de entrada para leer desde un archivo con el nombre especificado.
FileInputStream fi = new FileInputStream('ejemplo.txt');
¿Qué tamaño tiene la pantalla de mi monitor?
2. FileInputStream (archivo de archivo)
Crea una secuencia de archivo de entrada para leer desde el objeto Archivo especificado.
Archivo f = nuevo Archivo('ejemplo.txt');
FileInputStream fi = nuevo FileInputStream(f);
3. FileInputStream (FileDescriptor fdobj)
Crea una secuencia de archivo de entrada para leer desde el descriptor de archivo especificado.
FileDescriptor fd = FileDescriptor.in;
FileInputStream fi = nuevo FileInputStream(fd);misión imposible todas las películas
Cree un archivo llamado file.txt en el directorio de su proyecto con el siguiente contenido:
Javaeste es mi primer codigo
este es mi segundo codigo
import java.io.*; public class Geeks { public static void main(String[] args) { // Use try-with-resources to automatically close the stream try (FileInputStream fi = new FileInputStream('file1.txt')) { // Display file channel information System.out.println('Channel: ' + fi.getChannel()); // Display file descriptor System.out.println('File Descriptor: ' + fi.getFD()); // Illustrating available method System.out.println('Number of remaining bytes: ' + fi.available()); // Illustrating skip() method fi.skip(4); System.out.println('File Contents:'); // Reading characters from FileInputStream int ch; while ((ch = fi.read()) != -1) { System.out.print((char)ch); } } catch (FileNotFoundException e) { System.out.println( 'File not found: Ensure 'file1.txt' exists in the working directory.'); } catch (IOException e) { System.out.println( 'An error occurred while reading the file: ' + e.getMessage()); } } }
Producción:
ProducciónMétodos de Java Clase FileInputStream
| Métodos | Acción realizada |
|---|---|
| disponible() | Devuelve una estimación del número de bytes restantes que se pueden leer (u omitir) de este flujo de entrada. |
| cerca() | Cierra este flujo de entrada de archivos y libera todos los recursos del sistema asociados con el flujo. |
| finalizar() | Garantiza que se llame al método de cierre de este flujo de entrada de archivo cuando no haya más referencias a él. |
| obtenerCanal() | Devuelve el objeto FileChannel único asociado con este flujo de entrada de archivo. |
| obtenerFD() | Devuelve el objeto FileDescriptor que representa la conexión con el archivo real en el sistema de archivos que utiliza este FileInputStream. |
| leer() | Lee un byte de datos de este flujo de entrada |
| leer(byte[] b) | Lee hasta b.length bytes de datos de este flujo de entrada en una matriz de bytes. |
| leer(byte[] b int off int len) | Lee hasta len bytes de datos de este flujo de entrada en una matriz de bytes. |
| saltar() | Salta y descarta n bytes de datos del flujo de entrada |