Java:n FileInputStream-luokkaa käytetään datan lukemiseen tiedostosta tavujen muodossa. Se on ihanteellinen binääritietojen, kuten kuvien tai äänitiedostojen, lukemiseen. Tekstitiedostojen lukemiseen on parempi käyttää Tiedostonlukija.
- Suora pääsy: Se lukee tiedoston sisällön suoraan levyltä puskuroimatta
- Alustasta riippumaton: Se voi toimia missä tahansa käyttöjärjestelmässä
julistus
FileInputStream-luokka laajentaa InputStream luokka, mikä tarkoittaa, että se perii menetelmät raakatavutietojen lukemiseksi tiedostoista.
public class FileInputStream laajentaa InputStreamia
Esimerkki: FileInputStream-luokka tietojen lukemiseen tiedostosta.
java listalaatikkoJava
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()); } } }
Lähtö:
LähtöRakentajat FileInputStream-luokka
1. FileInputStream(merkkijonon nimi)
Luo syöttötiedostovirran määritetyn nimen tiedostosta luettavaksi.
FileInputStream fi = uusi FileInputStream('esimerkki.txt');
2. FileInputStream (tiedostotiedosto)
Luo syöttötiedostovirran määritetystä tiedostoobjektista luettavaksi.
Tiedosto f = uusi Tiedosto('esimerkki.txt');
FileInputStream fi = uusi FileInputStream(f);
3. FileInputStream(FileDescriptor fdobj)
Luo syötetiedostovirran määritetystä tiedostokuvaajasta luettavaksi.
FileDescriptor fd = FileDescriptor.in;
FileInputStream fi = uusi FileInputStream(fd);
Luo projektihakemistoosi tiedosto nimeltä file.txt, jossa on seuraava sisältö:
Javatämä on ensimmäinen koodini
tämä on toinen koodinixml kommentti
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()); } } }
Lähtö:
LähtöJavan menetelmät FileInputStream-luokka
| menetelmät | Toimenpide suoritettu |
|---|---|
| saatavilla () | Palauttaa arvion jäljellä olevien tavujen määrästä, joka voidaan lukea (tai ohittaa) tästä syöttövirrasta. |
| lähellä() | Sulkee tämän tiedoston syöttövirran ja vapauttaa kaikki tietovirtaan liittyvät järjestelmäresurssit. |
| viimeistellä () | Varmistaa, että tämän tiedoston syöttövirran sulkemismenetelmä kutsutaan, kun siihen ei ole enää viittauksia. |
| getChannel() | Palauttaa tähän tiedoston syöttövirtaan liittyvän ainutlaatuisen FileChannel-objektin. |
| getFD() | Palauttaa FileDescriptor-objektin, joka edustaa yhteyttä tämän FileInputStreamin käyttämän tiedostojärjestelmän todelliseen tiedostoon. |
| lukea() | Lukee tavun dataa tästä syöttövirrasta |
| lue(tavu[] b) | Lukee enintään b.length tavua dataa tästä syöttövirrasta tavujen joukkoon. |
| lue(tavu[] b int off int len) | Lukee jopa len tavua dataa tästä syöttövirrasta tavujen joukkoon. |
| ohita() | Ohittaa ja hylkää n tavua dataa syöttövirrasta |