logo

Java FileInputStream klasse

FileInputStream-klassen i Java bruges til at læse data fra en fil i form af bytes. Den er ideel til at læse binære data såsom billeder eller lydfiler. Til læsning af tekstfiler er det bedre at bruge Fillæser.

  • Direkte adgang: Den læser filindholdet direkte fra disken uden buffering
  • Platformuafhængig: Det kan fungere på ethvert operativsystem

Erklæring

FileInputStream-klassen udvider InputStream klasse, hvilket betyder, at den arver metoder til at læse rå bytedata fra filer.

public class FileInputStream udvider InputStream



Eksempel: FileInputStream-klasse til at læse data fra 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:  

Skærmbillede' title=Produktion

Konstruktører af FileInputStream klasse

1. FileInputStream(strengnavn)

Opretter en inputfilstrøm til at læse fra en fil med det angivne navn. 

FileInputStream fi = new FileInputStream('example.txt');

2. FileInputStream(Filfil)

Opretter en inputfilstrøm til at læse fra det angivne filobjekt. 

Fil f = ny Fil('eksempel.txt');
FileInputStream fi = ny FileInputStream(f);

3. FileInputStream(FileDescriptor fdobj)

Opretter en inputfilstrøm til at læse fra den angivne filbeskrivelse. 

FileDescriptor fd = FileDescriptor.in;
FileInputStream fi = ny FileInputStream(fd); 

Opret en fil med navnet file.txt i din projektmappe med følgende indhold:

hvad er et linux filsystem

dette er min første kode
dette er min anden kode

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());  // 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' loading='lazy' title=Produktion

Java-metoder FileInputStream klasse

Metoder Handling udført 
tilgængelig() Returnerer et skøn over antallet af resterende bytes, der kan læses (eller springes over) fra denne inputstrøm.
tæt() Lukker denne filinputstrøm og frigiver alle systemressourcer, der er knyttet til strømmen.
afslutte() Sikrer, at lukkemetoden for denne filinputstrøm kaldes, når der ikke er flere referencer til den. 
getChannel() Returnerer det unikke FileChannel-objekt, der er knyttet til denne filinputstrøm. 
getFD() Returnerer FileDescriptor-objektet, der repræsenterer forbindelsen til den faktiske fil i filsystemet, der bruges af denne FileInputStream.
læse() Læser en byte af data fra denne inputstrøm
læs(byte[] b)Læser op til b.length bytes af data fra denne inputstrøm til en række bytes. 
read(byte[] b int off int len)Læser op til udlån bytes af data fra denne inputstrøm til en række bytes.
springe() Springer over og kasserer n bytes data fra inputstrømmen
Opret quiz