logo

Classe Java FileInputStream

La classe FileInputStream a Java s'utilitza per llegir dades d'un fitxer en forma de bytes. És ideal per llegir dades binàries com ara imatges o fitxers d'àudio. Per llegir fitxers de text és millor utilitzar FileReader.

  • Accés directe: Llegeix directament el contingut del fitxer des del disc sense emmagatzemar la memòria intermèdia
  • Plataforma independent: Pot funcionar en qualsevol sistema operatiu

Declaració

La classe FileInputStream amplia el fitxer InputStream classe, el que significa que hereta mètodes per llegir dades de bytes en brut dels fitxers.

la classe pública FileInputStream amplia InputStream



Exemple: Classe FileInputStream per llegir dades del fitxer.

Java
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());  // 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());  }  } } 

Sortida:  

Captura de pantalla' title=Sortida

Constructors de Classe FileInputStream

1. FileInputStream (nom de la cadena)

Crea un flux de fitxers d'entrada per llegir des d'un fitxer amb el nom especificat. 

FileInputStream fi = new FileInputStream('example.txt');

cadena a ella

2. FileInputStream (fitxer de fitxer)

Crea un flux de fitxers d'entrada per llegir des de l'objecte Fitxer especificat. 

Fitxer f = nou Fitxer('example.txt');
FileInputStream fi = nou FileInputStream(f);

3. FileInputStream(FileDescriptor fdobj)

Crea un flux de fitxers d'entrada per llegir des del descriptor de fitxer especificat. 

FileDescriptor fd = FileDescriptor.in;
FileInputStream fi = nou FileInputStream(fd); 

què és el maneig d'excepcions a Java

Creeu un fitxer anomenat file.txt al directori del vostre projecte amb el contingut següent:

aquest és el meu primer codi
aquest és el meu segon codi

Java
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());  }  } } 

Sortida:  

Sortida' loading='lazy' title=Sortida

Mètodes de Java Classe FileInputStream

Mètodes Acció realitzada 
disponible () Retorna una estimació del nombre de bytes restants que es poden llegir (o ometre) d'aquest flux d'entrada.
tancar () Tanca aquest flux d'entrada de fitxers i allibera tots els recursos del sistema associats al flux.
finalitzar () Assegura que el mètode de tancament d'aquest flux d'entrada de fitxer es crida quan no hi ha més referències. 
getChannel() Retorna l'objecte FileChannel únic associat amb aquest flux d'entrada de fitxer. 
getFD() Retorna l'objecte FileDescriptor que representa la connexió amb el fitxer real del sistema de fitxers que utilitza aquest FileInputStream.
llegir () Llegeix un byte de dades d'aquest flux d'entrada
llegir(byte[] b)Llegeix fins a b.length bytes de dades d'aquest flux d'entrada en una matriu de bytes. 
llegir(byte[] b int off int len)Llegeix fins a len bytes de dades d'aquest flux d'entrada en una matriu de bytes.
saltar () Salta i descarta n bytes de dades del flux d'entrada
Crea un qüestionari