logo

Trieda Java FileInputStream

Trieda FileInputStream v jazyku Java sa používa na čítanie údajov zo súboru vo forme bajtov. Je ideálny na čítanie binárnych údajov, ako sú obrázky alebo zvukové súbory. Na čítanie textových súborov je lepšie použiť FileReader.

  • Priamy prístup: Priamo číta obsah súboru z disku bez ukladania do vyrovnávacej pamäte
  • Nezávislé od platformy: Môže pracovať na akomkoľvek operačnom systéme

Vyhlásenie

Trieda FileInputStream rozširuje InputStream trieda, čo znamená, že zdedí metódy na čítanie nespracovaných bajtových údajov zo súborov.

public class FileInputStream rozširuje InputStream



Príklad: Trieda FileInputStream na čítanie údajov zo súboru.

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

výstup:  

Snímka obrazovky' title=Výstup

Konštruktéri z Trieda FileInputStream

1. FileInputStream (názov reťazca)

Vytvorí prúd vstupného súboru na čítanie zo súboru so zadaným názvom. 

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

2. FileInputStream (súbor súboru)

Vytvorí prúd vstupného súboru na čítanie zo zadaného objektu File. 

Súbor f = nový Súbor('example.txt');
FileInputStream fi = new FileInputStream(f);

3. FileInputStream(FileDescriptor fdobj)

Vytvorí prúd vstupného súboru na čítanie zo zadaného deskriptora súboru. 

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

Vytvorte súbor s názvom file.txt v adresári projektu s nasledujúcim obsahom:

toto je môj prvý kód
toto je môj druhý kód

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

výstup:  

Výstup' loading='lazy' title=Výstup

Metódy Java Trieda FileInputStream

Metódy Akcia vykonaná 
k dispozícii() Vráti odhadovaný počet zostávajúcich bajtov, ktoré možno prečítať (alebo preskočiť) z tohto vstupného toku.
zavrieť() Zatvorí tento vstupný prúd súboru a uvoľní všetky systémové prostriedky spojené s prúdom.
finalizovať () Zabezpečuje, aby sa zavolala metóda zatvorenia tohto vstupného toku súboru, keď už naň neexistujú žiadne odkazy. 
getChannel() Vráti jedinečný objekt FileChannel priradený k tomuto vstupnému toku súboru. 
getFD() Vráti objekt FileDescriptor, ktorý predstavuje pripojenie k skutočnému súboru v systéme súborov, ktorý používa tento FileInputStream.
prečítať () Číta bajt údajov z tohto vstupného toku
čítať(bajt[] b)Číta až b.dĺžka bajtov dát z tohto vstupného toku do poľa bajtov. 
read(byte[] b int off int len)Prečíta až len bajtov údajov z tohto vstupného toku do poľa bajtov.
preskočiť () Preskočí a zahodí n bajtov údajov zo vstupného toku
Vytvoriť kvíz