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