Klasa FileInputStream u Javi koristi se za čitanje podataka iz datoteke u obliku bajtova. Idealan je za čitanje binarnih podataka kao što su slike ili audio datoteke. Za čitanje tekstualnih datoteka bolje je koristiti FileReader.
- Izravan pristup: Izravno čita sadržaj datoteke s diska bez spremanja u međuspremnik
- Neovisno o platformi: Može raditi na bilo kojem operativnom sustavu
deklaracija
Klasa FileInputStream proširuje InputStream klasa što znači da nasljeđuje metode za čitanje neobrađenih bajt podataka iz datoteka.
javna klasa FileInputStream proširuje InputStream
Primjer: Klasa FileInputStream za čitanje podataka iz datoteke.
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()); } } }
Izlaz:
IzlazKonstruktori od Klasa FileInputStream
1. FileInputStream(naziv niza)
Stvara ulazni tok datoteke za čitanje iz datoteke s navedenim nazivom.
FileInputStream fi = new FileInputStream('example.txt');
kakica
2. FileInputStream(Datoteka datoteke)
Stvara ulazni tok datoteke za čitanje iz navedenog objekta File.
File f = new File('example.txt');
FileInputStream fi = novi FileInputStream(f);
3. FileInputStream(FileDescriptor fdobj)
Stvara ulazni tok datoteke za čitanje iz navedenog deskriptora datoteke.
FileDescriptor fd = FileDescriptor.in;
FileInputStream fi = new FileInputStream(fd);python sort dictionary
Napravite datoteku pod nazivom file.txt u svom direktoriju projekta sa sljedećim sadržajem:
Javaovo je moj prvi kod
ovo je moj drugi kod
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()); } } }
Izlaz:
IzlazMetode Jave Klasa FileInputStream
| Metode | Radnja izvršena |
|---|---|
| dostupno() | Vraća procjenu broja preostalih bajtova koji se mogu pročitati (ili preskočiti) iz ovog ulaznog toka. |
| zatvoriti() | Zatvara ovaj ulazni tok datoteke i oslobađa sve sistemske resurse povezane s tokom. |
| finalizirati () | Osigurava da se metoda zatvaranja ovog ulaznog toka datoteke poziva kada više nema referenci na njega. |
| getChannel() | Vraća jedinstveni objekt FileChannel povezan s ovim ulaznim tokom datoteke. |
| getFD() | Vraća objekt FileDescriptor koji predstavlja vezu sa stvarnom datotekom u datotečnom sustavu koji koristi ovaj FileInputStream. |
| čitaj() | Čita bajt podataka iz ovog ulaznog toka |
| pročitaj (bajt[] b) | Čita do b.length bajtova podataka iz ovog ulaznog toka u niz bajtova. |
| read(byte[] b int off int len) | Čita do len bajtova podataka iz ovog ulaznog toka u polje bajtova. |
| preskočiti() | Preskače i odbacuje n bajtova podataka iz ulaznog toka |