Java FileInputStream Class
FileInputStream-klassen i Java brukes til å lese data fra en fil i form av byte. Den er ideell for å lese binære data som bilder eller lydfiler. For å lese tekstfiler er det bedre å bruke FileReader.
- Direkte tilgang: Den leser filinnholdet direkte fra disken uten å bufre
- Plattformuavhengig: Det kan fungere på alle operativsystemer
Erklæring
FileInputStream-klassen utvider InputStream klasse som betyr at den arver metoder for å lese råbytedata fra filer.
public class FileInputStream utvider InputStream
Eksempel: FileInputStream-klassen for å lese data fra filen.
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 ()); } } }
Produksjon:
Produksjon Konstruktører av FileInputStream Class
1. FileInputStream(strengnavn)
Oppretter en inndatafilstrøm for å lese fra en fil med det angitte navnet.
FileInputStream fi = new FileInputStream('example.txt');
2. FileInputStream (filfil)
Oppretter en inndatafilstrøm for å lese fra det angitte filobjektet.
File f = new File('example.txt');
FileInputStream fi = ny FileInputStream(f);
3. FileInputStream(FileDescriptor fdobj)
Oppretter en inndatafilstrøm for å lese fra den angitte filbeskrivelsen.
FileDescriptor fd = FileDescriptor.in;
FileInputStream fi = ny FileInputStream(fd);
Opprett en fil med navnet file.txt i prosjektkatalogen med følgende innhold:
Javadette er min første kode
dette er min andre kode
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 ()); } } }
Produksjon:
Produksjon Java-metoder FileInputStream Class
| Metoder | Handling utført |
|---|---|
| tilgjengelig() | Returnerer et estimat av antall gjenværende byte som kan leses (eller hoppes over) fra denne inngangsstrømmen. |
| lukke() | Lukker denne filinndatastrømmen og frigjør eventuelle systemressurser knyttet til strømmen. |
| fullføre() | Sikrer at lukkemetoden for denne filinndatastrømmen kalles når det ikke er flere referanser til den. |
| getChannel() | Returnerer det unike FileChannel-objektet som er knyttet til denne filinndatastrømmen. |
| getFD() | Returnerer FileDescriptor-objektet som representerer tilkoblingen til den faktiske filen i filsystemet som brukes av denne FileInputStream. |
| lese() | Leser en byte med data fra denne inndatastrømmen |
| les(byte[] b) | Leser opp til b.length byte med data fra denne inngangsstrømmen til en rekke byte. |
| read(byte[] b int av int len) | Leser opp til byte med data fra denne inngangsstrømmen til en rekke byte. |
| hoppe over() | Hopper over og forkaster n byte med data fra inndatastrømmen |