Hvordan fungerer Java InputStream

Hvordan Fungerer Java Inputstream



Java gjør det mulig for utviklerne å jobbe med filene. I et slikt tilfelle vil ' InputStream ”-klassen trer i kraft som hjelper til med å lese det angitte filinnholdet sammen med å analysere de inneholdte bytene. Dette resulterer i å takle minneproblemene og også returnere det selektive filinnholdet i henhold til kravet effektivt.

Denne oppskriften vil utdype hvordan 'InputStream' fungerer i Java.







Hvordan fungerer Java InputStream?

'InputStream'-klassen til ' java.io ”-pakken tilsvarer en abstrakt superklasse som returnerer en inngangsstrøm som består av byte mot den spesifiserte filen.



Underklasser av InputStream

For å bruke 'InputStream'-funksjonaliteten, kan følgende underklasser brukes:



    • FileInputStream
    • ObjectInputStream
    • ByteArrayInputStream

Det er slik at disse underklassene utvider 'InputStream'-klassen.





Metoder for InputStream

Klassen 'InputStream' inneholder forskjellige metoder som brukes av underklassene. Følgende er noen av de mest brukte metodene:

Metoder Funksjonalitet
lese() Den leser en byte med data fra inngangsstrømmen.



read(byte[] array) Den leser også byte fra strømmen og lagrer dem i målmatrisen.

hoppe over() Denne metoden hopper over/utelater det spesifikke antallet byte fra inngangsstrømmen.

tilgjengelig() Det gir de inneholdte bytene i inngangsstrømmen.
nullstille() Den gir tilgang til bekkepunktet der merket ble satt.

merke() Denne metoden markerer posisjonen i strømmen til der data er lest.

markSupported() Den analyserer om metodene 'mark()' og 'reset()' støttes/kompatible i strømmen.


Før du går til eksemplet, importer følgende pakker for å jobbe med 'InputStream' og dens underklasse:

importer java.io.FileInputStream;
importer java.io.InputStream;


Eksempel: Arbeid av InputStream i Java

Dette eksemplet illustrerer hvordan 'InputStream' fungerer ved å lese filinnholdet via 'InputStream'-metodene:

offentlig klasse Inputstream {
offentlig statisk tomrom hoved ( String args [ ] ) {
byte [ ] givenarray = ny byte [ femti ] ;
prøve {
InputStream readData = ny FileInputStream ( 'readfile.txt' ) ;
System.out.println ( 'Bytes i filen -> ' + readData.available ( ) ) ;
readData.read ( gitt array ) ;
System.out.println ( 'Les fildata: ' ) ;
String containdata = ny streng ( gitt array ) ;
System.out.println ( inneholde data ) ;
readData.close ( ) ;
}
å fange ( Unntak unntatt ) {
unntatt.getStackTrace ( ) ;
}
} }


I henhold til kodelinjene ovenfor, utfør trinnene nedenfor:

    • Først oppretter du en 'byte'-array som kan omfatte maksimalt ' femti byte-verdier i den leste filen.
    • I neste trinn oppretter du en ' InputStream ' ved å bruke 'FileInputStream' og returner de tilgjengelige bytene i den angitte filen via den tilknyttede ' tilgjengelig() 'metoden.
    • Etter det, les bytene fra inngangsstrømmen ved å bruke ' lese() 'metoden.
    • Konverter nå byte-arrayen til en streng og vis filinnholdet.
    • Til slutt, lukk lesefilen ved å bruke den tilknyttede ' Lukk() 'metoden.

Produksjon


I dette utfallet kan det antydes at antall byte i filen, dvs. akkumulert plass av innholdet, returneres i samsvar med maksområdet i bytematrisen, dvs. '50'. Filinnholdet returneres også på riktig måte.

Filinnhold


For å få en oversikt over ' hoppe over() ' og ' nullstille() ”-metoder, vurder følgende demonstrasjon:


I denne illustrasjonen hopper 'skip()'-metoden over det angitte antallet byte, dvs. ' 5 -> Java ” fra filinnholdet fra starten. Metoden 'reset()' tilbakestiller imidlertid strømmen.

Konklusjon

« InputStream ' klasse av ' java.io ”-pakken er en abstrakt superklasse som tilsvarer en inngangsstrøm av byte som brukes til å lese fildataene. Denne klassen omfatter forskjellige metoder som hjelper til med å lese metodene til filen effektivt i henhold til kravet. Denne bloggen demonstrerte formålet og virkemåten til 'InputStream' i Java.