Klasa Java FileInputStream

Klasa Java FileInputStream

Klasa FileInputStream w Javie służy do odczytu danych z pliku w postaci bajtów. Idealnie nadaje się do odczytu danych binarnych, takich jak obrazy lub pliki audio. Do odczytu plików tekstowych lepiej jest użyć Czytnik plików.

  • Bezpośredni dostęp: Bezpośrednio odczytuje zawartość pliku z dysku bez buforowania
  • Niezależny od platformy: Może działać na dowolnym systemie operacyjnym

Deklaracja

Klasa FileInputStream rozszerza klasę Strumień wejściowy class, co oznacza, że ​​dziedziczy metody odczytu nieprzetworzonych danych bajtowych z plików.

klasa publiczna FileInputStream rozszerza strumień wejściowy

Przykład: Klasa FileInputStream do odczytu danych z pliku.

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

Wyjście:  

Zrzut ekranuWyjście

Konstruktorzy Klasa FileInputStream

1. FileInputStream (nazwa ciągu)

Tworzy strumień pliku wejściowego do odczytu z pliku o określonej nazwie. 

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

2. FileInputStream (plik pliku)

Tworzy strumień pliku wejściowego do odczytu z określonego obiektu File. 

Plik f = nowy plik('przykład.txt');
FileInputStream fi = nowy FileInputStream(f);

3. FileInputStream(FileDescriptor fdobj)

Tworzy strumień pliku wejściowego do odczytania z określonego deskryptora pliku. 

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

Utwórz plik o nazwie file.txt w katalogu projektu z następującą zawartością:

to jest mój pierwszy kod
to jest mój drugi 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  ());      }      }   }   

Wyjście:  

WyjścieWyjście

Metody Javy Klasa FileInputStream

Metody  Wykonano czynność 
dostępny() Zwraca szacunkową liczbę pozostałych bajtów, które można odczytać (lub pominąć) z tego strumienia wejściowego.
zamknąć() Zamyka ten strumień wejściowy pliku i zwalnia wszystkie zasoby systemowe powiązane ze strumieniem.
sfinalizować() Zapewnia, że ​​metoda zamknięcia tego strumienia wejściowego pliku zostanie wywołana, gdy nie będzie już do niego żadnych odniesień. 
pobierzKanał() Zwraca unikalny obiekt FileChannel powiązany z tym strumieniem wejściowym pliku. 
pobierzFD() Zwraca obiekt FileDescriptor, który reprezentuje połączenie z rzeczywistym plikiem w systemie plików używanym przez ten FileInputStream.
Czytać() Odczytuje bajt danych z tego strumienia wejściowego
czytaj (bajt [] b) Odczytuje maksymalnie b.length bajtów danych z tego strumienia wejściowego do tablicy bajtów. 
read(bajt[] b int off int len) Odczytuje maksymalnie długość bajtów danych z tego strumienia wejściowego do tablicy bajtów.
pominąć() Pomija i odrzuca n bajtów danych ze strumienia wejściowego
Utwórz quiz