Java FileInputStream клас

Java FileInputStream клас

Класът FileInputStream в Java се използва за четене на данни от файл под формата на байтове. Той е идеален за четене на двоични данни като изображения или аудио файлове. За четене на текстови файлове е по-добре да използвате FileReader.

  • Директен достъп: Той директно чете съдържанието на файла от диска без буфериране
  • Независимо от платформата: Може да работи на всяка операционна система

Декларация

Класът FileInputStream разширява InputStream клас, което означава, че наследява методи за четене на сурови байтови данни от файлове.

публичен клас FileInputStream разширява InputStream

Пример: Клас FileInputStream за четене на данни от файл.

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

Изход:  

Екранна снимкаИзход

Конструкторите на Клас FileInputStream

1. FileInputStream (име на низ)

Създава входен файлов поток за четене от файл с указаното име. 

FileInputStream fi = нов FileInputStream('example.txt');

2. FileInputStream (Файлов файл)

Създава входен файлов поток за четене от указания File обект. 

Файл f = нов файл ('example.txt');
FileInputStream fi = нов FileInputStream(f);

3. FileInputStream(FileDescriptor fdobj)

Създава входен файлов поток за четене от посочения файлов дескриптор. 

FileDescriptor fd = FileDescriptor.in;
FileInputStream fi = нов FileInputStream(fd); 

Създайте файл с име file.txt в директорията на вашия проект със следното съдържание:

това е първият ми код
това е вторият ми код

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

Изход:  

ИзходИзход

Методи на Java Клас FileInputStream

Методи  Извършено действие 
наличен() Връща приблизителна оценка на броя оставащи байтове, които могат да бъдат прочетени (или прескочени) от този входен поток.
затвори() Затваря този входен поток на файла и освобождава всички системни ресурси, свързани с потока.
финализирам() Гарантира, че методът за затваряне на този входен поток на файл се извиква, когато няма повече препратки към него. 
getChannel() Връща уникалния обект FileChannel, свързан с този входен поток на файл. 
getFD() Връща обекта FileDescriptor, който представлява връзката към действителния файл във файловата система, използвана от този FileInputStream.
чета() Чете байт данни от този входен поток
четене (байт [] b) Чете до b.length байтове данни от този входен поток в масив от байтове. 
read(byte[] b int off int len) Чете до len байта данни от този входен поток в масив от байтове.
пропусни () Прескача и изхвърля n байта данни от входния поток
Създаване на тест