logo

Клас 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());  }  } } 

Вихід:  

Скріншот' title=Вихід

Конструктори з Клас 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());  }  } } 

Вихід:  

Вихід' loading='lazy' title=Вихід

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

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