logo

Clasa Java FileInputStream

Clasa FileInputStream în Java este folosită pentru a citi datele dintr-un fișier sub formă de octeți. Este ideal pentru citirea datelor binare, cum ar fi imagini sau fișiere audio. Pentru citirea fișierelor text este mai bine să le utilizați FileReader.

  • Acces direct: Citește direct conținutul fișierului de pe disc fără tamponare
  • Independent de platformă: Poate funcționa pe orice sistem de operare

Declaraţie

Clasa FileInputStream extinde InputStream clasa, ceea ce înseamnă că moștenește metode de citire a datelor brute de octeți din fișiere.

clasa publică FileInputStream extinde InputStream



Exemplu: Clasa FileInputStream pentru a citi datele din fișier.

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

Ieșire:  

Captură de ecran' title=Ieșire

Constructorii de Clasa FileInputStream

1. FileInputStream (nume șir)

Creează un flux de fișier de intrare pentru a citi dintr-un fișier cu numele specificat. 

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

2. FileInputStream(Fișier fișier)

Creează un flux de fișier de intrare pentru a citi din obiectul Fișier specificat. 

Fișier f = fișier nou('example.txt');
FileInputStream fi = nou FileInputStream(f);

3. FileInputStream(FileDescriptor fdobj)

Creează un flux de fișier de intrare pentru a citi din descriptorul de fișier specificat. 

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

Creați un fișier numit file.txt în directorul de proiect cu următorul conținut:

acesta este primul meu cod
acesta este al doilea cod al meu

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

Ieșire:  

Ieșire' loading='lazy' title=Ieșire

Metode Java Clasa FileInputStream

Metode Acțiune efectuată 
disponibil() Returnează o estimare a numărului de octeți rămași care pot fi citiți (sau săriți peste) din acest flux de intrare.
aproape() Închide acest flux de intrare al fișierului și eliberează orice resurse de sistem asociate fluxului.
finaliza () Se asigură că metoda de închidere a acestui flux de introducere a fișierului este apelată atunci când nu mai există referințe la acesta. 
getChannel() Returnează obiectul unic FileChannel asociat cu acest flux de intrare de fișier. 
getFD() Returnează obiectul FileDescriptor care reprezintă conexiunea la fișierul real din sistemul de fișiere utilizat de acest FileInputStream.
citire() Citește un octet de date din acest flux de intrare
citit(octet[] b)Citește până la b.length octeți de date din acest flux de intrare într-o matrice de octeți. 
read(byte[] b int off int len)Citește până la len octeți de date din acest flux de intrare într-o matrice de octeți.
skip() Omite și elimină n octeți de date din fluxul de intrare
Creați un test