Java FileInputStream Class
Klassen FileInputStream i Java används för att läsa data från en fil i form av byte. Den är idealisk för att läsa binär data som bilder eller ljudfiler. För att läsa textfiler är det bättre att använda FileReader.
- Direkt åtkomst: Den läser filinnehållet direkt från disken utan buffring
- Plattformsoberoende: Det kan fungera på alla operativsystem
Förklaring
Klassen FileInputStream utökar InputStream klass vilket innebär att den ärver metoder för att läsa råbytedata från filer.
public class FileInputStream utökar InputStream
Exempel: FileInputStream-klass för att läsa data från fil.
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 ()); } } }
Produktion:
Produktion Konstruktörer av FileInputStream-klass
1. FileInputStream(String name)
Skapar en indatafilström att läsa från en fil med det angivna namnet.
FileInputStream fi = new FileInputStream('example.txt');
2. FileInputStream (filfil)
Skapar en indatafilström att läsa från det angivna filobjektet.
File f = new File('example.txt');
FileInputStream fi = ny FileInputStream(f);
3. FileInputStream(FileDescriptor fdobj)
Skapar en indatafilström att läsa från den angivna filbeskrivningen.
FileDescriptor fd = FileDescriptor.in;
FileInputStream fi = new FileInputStream(fd);
Skapa en fil med namnet file.txt i din projektkatalog med följande innehåll:
Javadetta är min första kod
detta är min andra 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 ()); } } }
Produktion:
Produktion Java-metoder FileInputStream-klass
| Metoder | Åtgärd utförd |
|---|---|
| tillgänglig() | Returnerar en uppskattning av antalet återstående byte som kan läsas (eller hoppa över) från denna ingångsström. |
| nära() | Stänger denna filinmatningsström och frigör alla systemresurser som är associerade med strömmen. |
| avsluta() | Säkerställer att stängningsmetoden för denna filinmatningsström anropas när det inte finns fler referenser till den. |
| getChannel() | Returnerar det unika FileChannel-objekt som är associerat med denna filinmatningsström. |
| getFD() | Returnerar FileDescriptor-objektet som representerar anslutningen till den faktiska filen i filsystemet som används av denna FileInputStream. |
| läsa() | Läser en byte med data från denna ingångsström |
| read(byte[] b) | Läser upp till b.length byte med data från denna ingångsström till en array av byte. |
| read(byte[] b int av int len) | Läser upp till byte med data från denna ingångsström till en array av byte. |
| hoppa() | Hoppar över och kasserar n byte med data från inmatningsströmmen |