I denne opplæringen vil vi lære om Java FileInputStream og metodene ved hjelp av eksempler.
Den FileInputStreamklassen av java.iopakken kan brukes til å lese data (i byte) fra filer.
Det utvider den InputStreamabstrakte klassen.

Før du lærer om FileInputStream, må du sørge for å vite om Java Files.
Opprett en FileInputStream
For å opprette en filinngangsstrøm, må vi først importere java.io.FileInputStreampakken. Når vi har importert pakken, kan du lage en filinngangsstrøm i Java.
1. Bruke banen til filen
 FileInputStream input = new FileInputStream(stringPath); 
Her har vi opprettet en inngangsstrøm som vil bli koblet til filen spesifisert av banen.
2. Bruke et objekt av filen
 FileInputStream input = new FileInputStream(File fileObject); 
Her har vi opprettet en inngangsstrøm som vil bli koblet til filen spesifisert av fileObject.
Metoder for FileInputStream
Den FileInputStreamklasse gir implementeringer for forskjellige metoder for å medføre i InputStreamklassen.
les () Metode
read()- leser en enkelt byte fra filenread(byte() array)- leser byte fra filen og lagrer i den angitte matrisenread(byte() array, int start, int length)- leser antall byte som er lik lengden fra filen og lagrer i den angitte matrisen fra posisjonsstart
Anta at vi har en fil som heter input.txt med følgende innhold.
 This is a line of text inside the file. 
La oss prøve å lese denne filen ved hjelp av FileInputStream.
 import java.io.FileInputStream; public class Main ( public static void main(String args()) ( try ( FileInputStream input = new FileInputStream("input.txt"); System.out.println("Data in the file: "); // Reads the first byte int i = input.read(); while(i != -1) ( System.out.print((char)i); // Reads next byte from the file i = input.read(); ) input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 
Produksjon
Data i filen: Dette er en tekstlinje i filen.
I eksemplet ovenfor har vi opprettet en filinngangsstrøm som heter input. Inngangsstrømmen er koblet til input.txt- filen.
 FileInputStream input = new FileInputStream("input.txt"); 
For å lese data fra filen har vi brukt read()metoden i mens loop.
tilgjengelig () Metode
For å få antall tilgjengelige byte kan vi bruke available()metoden. For eksempel,
 import java.io.FileInputStream; public class Main ( public static void main(String args()) ( try ( // Suppose, the input.txt file contains the following text // This is a line of text inside the file. FileInputStream input = new FileInputStream("input.txt"); // Returns the number of available bytes System.out.println("Available bytes at the beginning: " + input.available()); // Reads 3 bytes from the file input.read(); input.read(); input.read(); // Returns the number of available bytes System.out.println("Available bytes at the end: " + input.available()); input.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) ) 
Produksjon
Tilgjengelige byte i begynnelsen: 39 Tilgjengelige byte på slutten: 36
I eksemplet ovenfor,
- Vi bruker først 
available()metoden for å sjekke antall tilgjengelige byte i filinngangsstrømmen. - Vi har deretter brukt 
read()metoden 3 ganger for å lese 3 byte fra filinngangsstrømmen. - Nå, etter å ha lest byte, har vi igjen sjekket tilgjengelige byte. Denne gangen reduserte de tilgjengelige byte med 3.
 
skip () Metode
For å forkaste og hoppe over det angitte antallet byte, kan vi bruke skip()metoden. For eksempel,
 import java.io.FileInputStream; public class Main ( public static void main(String args()) ( try ( // Suppose, the input.txt file contains the following text // This is a line of text inside the file. FileInputStream input = new FileInputStream("input.txt"); // Skips the 5 bytes input.skip(5); System.out.println("Input stream after skipping 5 bytes:"); // Reads the first byte int i = input.read(); while (i != -1) ( System.out.print((char) i); // Reads next byte from the file i = input.read(); ) // close() method input.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) ) 
Produksjon
Inngangsstrøm etter å ha hoppet over 5 byte: er en tekstlinje i filen.
I eksemplet ovenfor har vi brukt skip()metoden til å hoppe over 5 byte med data fra filinngangsstrømmen. Derfor blir ikke byte som representerer teksten "Dette" lest fra inngangsstrømmen.
lukk () Metode
For å lukke filinngangsstrømmen kan vi bruke close()metoden. Når close()metoden er kalt, kan vi ikke bruke inngangsstrømmen til å lese data.
I alle eksemplene ovenfor har vi brukt close()metoden for å lukke filinngangsstrømmen.
Andre metoder for FileInputStream
| Metoder | Beskrivelser | 
|---|---|
finalize()  |  sørger for at close()metoden blir kalt |  
getChannel()  |  returnerer objektet som er FileChanneltilknyttet inngangsstrømmen |  
getFD()  |  returnerer filbeskrivelsen tilknyttet inngangsstrømmen | 
mark()  |  merk posisjonen i inngangsstrømmen som data er lest opp til | 
reset()  |  returnerer kontrollen til punktet i inngangsstrømmen der merket ble satt | 
For å lære mer, besøk Java FileInputStream (offisiell Java-dokumentasjon).








