Java FileInputStream Class

Java FileInputStream Class

FileInputStream-klassen i Java brukes til å lese data fra en fil i form av byte. Den er ideell for å lese binære data som bilder eller lydfiler. For å lese tekstfiler er det bedre å bruke FileReader.

  • Direkte tilgang: Den leser filinnholdet direkte fra disken uten å bufre
  • Plattformuavhengig: Det kan fungere på alle operativsystemer

Erklæring

FileInputStream-klassen utvider InputStream klasse som betyr at den arver metoder for å lese råbytedata fra filer.

public class FileInputStream utvider InputStream

Eksempel: FileInputStream-klassen for å lese data fra filen.

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

Produksjon:  

SkjermdumpProduksjon

Konstruktører av FileInputStream Class

1. FileInputStream(strengnavn)

Oppretter en inndatafilstrøm for å lese fra en fil med det angitte navnet. 

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

2. FileInputStream (filfil)

Oppretter en inndatafilstrøm for å lese fra det angitte filobjektet. 

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

3. FileInputStream(FileDescriptor fdobj)

Oppretter en inndatafilstrøm for å lese fra den angitte filbeskrivelsen. 

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

Opprett en fil med navnet file.txt i prosjektkatalogen med følgende innhold:

dette er min første kode
dette er min andre kode

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

Produksjon:  

ProduksjonProduksjon

Java-metoder FileInputStream Class

Metoder  Handling utført 
tilgjengelig() Returnerer et estimat av antall gjenværende byte som kan leses (eller hoppes over) fra denne inngangsstrømmen.
lukke() Lukker denne filinndatastrømmen og frigjør eventuelle systemressurser knyttet til strømmen.
fullføre() Sikrer at lukkemetoden for denne filinndatastrømmen kalles når det ikke er flere referanser til den. 
getChannel() Returnerer det unike FileChannel-objektet som er knyttet til denne filinndatastrømmen. 
getFD() Returnerer FileDescriptor-objektet som representerer tilkoblingen til den faktiske filen i filsystemet som brukes av denne FileInputStream.
lese() Leser en byte med data fra denne inndatastrømmen
les(byte[] b) Leser opp til b.length byte med data fra denne inngangsstrømmen til en rekke byte. 
read(byte[] b int av int len) Leser opp til byte med data fra denne inngangsstrømmen til en rekke byte.
hoppe over() Hopper over og forkaster n byte med data fra inndatastrømmen
Lag quiz