Java FileInputStream Class

Java FileInputStream Class

Klassen FileInputStream i Java används för att läsa data från en fil i form av byte. Den är idealisk för att läsa binär data som bilder eller ljudfiler. För att läsa textfiler är det bättre att använda FileReader.

  • Direkt åtkomst: Den läser filinnehållet direkt från disken utan buffring
  • Plattformsoberoende: Det kan fungera på alla operativsystem

Förklaring

Klassen FileInputStream utökar InputStream klass vilket innebär att den ärver metoder för att läsa råbytedata från filer.

public class FileInputStream utökar InputStream

Exempel: FileInputStream-klass för att läsa data från fil.

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

Produktion:  

SkärmdumpProduktion

Konstruktörer av FileInputStream-klass

1. FileInputStream(String name)

Skapar en indatafilström att läsa från en fil med det angivna namnet. 

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

2. FileInputStream (filfil)

Skapar en indatafilström att läsa från det angivna filobjektet. 

File f = new File('example.txt');
FileInputStream fi = ny FileInputStream(f);

3. FileInputStream(FileDescriptor fdobj)

Skapar en indatafilström att läsa från den angivna filbeskrivningen. 

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

Skapa en fil med namnet file.txt i din projektkatalog med följande innehåll:

detta är min första kod
detta är min andra kod

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

Produktion:  

ProduktionProduktion

Java-metoder FileInputStream-klass

Metoder  Åtgärd utförd 
tillgänglig() Returnerar en uppskattning av antalet återstående byte som kan läsas (eller hoppa över) från denna ingångsström.
nära() Stänger denna filinmatningsström och frigör alla systemresurser som är associerade med strömmen.
avsluta() Säkerställer att stängningsmetoden för denna filinmatningsström anropas när det inte finns fler referenser till den. 
getChannel() Returnerar det unika FileChannel-objekt som är associerat med denna filinmatningsström. 
getFD() Returnerar FileDescriptor-objektet som representerar anslutningen till den faktiska filen i filsystemet som används av denna FileInputStream.
läsa() Läser en byte med data från denna ingångsström
read(byte[] b) Läser upp till b.length byte med data från denna ingångsström till en array av byte. 
read(byte[] b int av int len) Läser upp till byte med data från denna ingångsström till en array av byte.
hoppa() Hoppar över och kasserar n byte med data från inmatningsströmmen
Skapa frågesport