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.
Javaimport 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:
IeșireConstructorii 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:
Javaacesta este primul meu cod
acesta este al doilea cod al meu
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șireMetode 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 |