Java FileInputStream-klasse

Java FileInputStream-klasse

De klasse FileInputStream in Java wordt gebruikt om gegevens uit een bestand te lezen in de vorm van bytes. Het is ideaal voor het lezen van binaire gegevens zoals afbeeldingen of audiobestanden. Voor het lezen van tekstbestanden is het beter om te gebruiken Bestandslezer.

  • Directe toegang: Het leest de bestandsinhoud rechtstreeks van de schijf zonder buffering
  • Platformonafhankelijk: Het kan op elk besturingssysteem werken

Verklaring

De klasse FileInputStream breidt de Invoerstroom class, wat betekent dat het methoden overneemt voor het lezen van onbewerkte bytegegevens uit bestanden.

openbare klasse FileInputStream breidt InputStream uit

Voorbeeld: FileInputStream-klasse om gegevens uit een bestand te lezen.

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

Uitgang:  

SchermafbeeldingUitvoer

Constructeurs van FileInputStream-klasse

1. FileInputStream(tekenreeksnaam)

Creëert een invoerbestandsstroom om te lezen uit een bestand met de opgegeven naam. 

FileInputStream fi = nieuwe FileInputStream('voorbeeld.txt');

2. FileInputStream(bestandsbestand)

Creëert een invoerbestandsstroom om te lezen uit het opgegeven File-object. 

Bestand f = nieuw bestand('voorbeeld.txt');
FileInputStream fi = nieuwe FileInputStream(f);

3. FileInputStream(FileDescriptorfdobj)

Creëert een invoerbestandsstroom om te lezen uit de opgegeven bestandsdescriptor. 

FileDescriptor fd = BestandDescriptor.in;
FileInputStream fi = nieuwe FileInputStream(fd); 

Maak een bestand met de naam file.txt in uw projectmap met de volgende inhoud:

dit is mijn eerste code
dit is mijn tweede code

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

Uitgang:  

UitvoerUitvoer

Methoden van Java FileInputStream-klasse

Methoden  Actie uitgevoerd 
beschikbaar() Retourneert een schatting van het aantal resterende bytes dat kan worden gelezen (of overgeslagen) uit deze invoerstroom.
dichtbij() Sluit deze bestandsinvoerstroom en geeft alle systeembronnen vrij die aan de stroom zijn gekoppeld.
finaliseren() Zorgt ervoor dat de close-methode van deze bestandsinvoerstroom wordt aangeroepen als er geen verwijzingen meer naar zijn. 
getChannel() Retourneert het unieke FileChannel-object dat aan deze bestandsinvoerstroom is gekoppeld. 
getFD() Retourneert het FileDescriptor-object dat de verbinding vertegenwoordigt met het daadwerkelijke bestand in het bestandssysteem dat door deze FileInputStream wordt gebruikt.
lezen() Leest een byte aan gegevens uit deze invoerstroom
lees(byte[] b) Leest tot b.lengte bytes aan gegevens uit deze invoerstroom in een array van bytes. 
lezen(byte[] b int uit int len) Leest maximaal aantal bytes aan gegevens uit deze invoerstroom in een array van bytes.
overslaan() Slaat over en verwijdert n bytes aan gegevens uit de invoerstroom
Quiz maken