Třída Java FileInputStream

Třída Java FileInputStream

Třída FileInputStream v Javě se používá ke čtení dat ze souboru ve formě bajtů. Je ideální pro čtení binárních dat, jako jsou obrázky nebo zvukové soubory. Pro čtení textových souborů je lepší použít FileReader.

  • Přímý přístup: Přímo čte obsah souboru z disku bez ukládání do vyrovnávací paměti
  • Nezávislé na platformě: Může fungovat na jakémkoli operačním systému

Prohlášení

Třída FileInputStream rozšiřuje InputStream třída, což znamená, že zdědí metody pro čtení nezpracovaných bajtových dat ze souborů.

public class FileInputStream rozšiřuje InputStream

Příklad: Třída FileInputStream pro čtení dat ze souboru.

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

výstup:  

Snímek obrazovkyVýstup

Konstruktéři Třída FileInputStream

1. FileInputStream (název řetězce)

Vytvoří proud vstupního souboru ke čtení ze souboru se zadaným názvem. 

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

2. FileInputStream (soubor souboru)

Vytvoří proud vstupního souboru ke čtení ze zadaného objektu File. 

Soubor f = nový Soubor('example.txt');
FileInputStream fi = new FileInputStream(f);

3. FileInputStream(FileDescriptor fdobj)

Vytvoří proud vstupního souboru ke čtení ze zadaného deskriptoru souboru. 

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

V adresáři projektu vytvořte soubor s názvem file.txt s následujícím obsahem:

toto je můj první kód
toto je můj druhý kód

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

výstup:  

VýstupVýstup

Metody Java Třída FileInputStream

Metody  Akce provedena 
k dispozici() Vrátí odhadovaný počet zbývajících bajtů, které lze z tohoto vstupního toku přečíst (nebo přeskočit).
blízko() Zavře tento vstupní datový proud souboru a uvolní veškeré systémové prostředky spojené s datovým proudem.
dokončit() Zajistí, že metoda close tohoto vstupního datového proudu souboru bude volána, když na něj již neexistují žádné odkazy. 
getChannel() Vrátí jedinečný objekt FileChannel přidružený k tomuto vstupnímu datovému proudu souboru. 
getFD() Vrátí objekt FileDescriptor, který představuje připojení ke skutečnému souboru v systému souborů, který tento FileInputStream používá.
číst() Přečte bajt dat z tohoto vstupního toku
read(byte[] b) Přečte až b.délka bajtů dat z tohoto vstupního toku do pole bajtů. 
read(byte[] b int off int len) Přečte až len bajtů dat z tohoto vstupního toku do pole bajtů.
přeskočit() Přeskočí a zahodí n bajtů dat ze vstupního toku
Vytvořit kvíz