Kako deluje Java InputStream

Kako Deluje Java Inputstream



Java razvijalcem omogoča delo z datotekami. V takem primeru je ' InputStream ” stopi v veljavo razred, ki pomaga pri branju podane vsebine datoteke skupaj z analizo vsebovanih bajtov. Posledica tega je obvladovanje težav s pomnilnikom in učinkovito vračanje izbrane vsebine datoteke v skladu z zahtevami.

Ta zapis bo podrobneje razložil delovanje »InputStream« v Javi.







Kako deluje Java InputStream?

Razred »InputStream« elementa » java.io ” ustreza abstraktnemu nadrazredu, ki vrne vhodni tok, sestavljen iz bajtov glede na podano datoteko.



Podrazredi InputStream

Za uporabo funkcij »InputStream« je mogoče uporabiti njegove naslednje podrazrede:



    • FileInputStream
    • ObjectInputStream
    • ByteArrayInputStream

Ti podrazredi razširjajo razred »InputStream«.





Metode InputStream

Razred »InputStream« vsebuje različne metode, ki jih uporabljajo njegovi podrazredi. Sledi nekaj najpogosteje uporabljenih metod:

Metode Funkcionalnost
preberi() Prebere bajt podatkov iz vhodnega toka.



branje (matrika bajtov []) Prav tako bere bajte iz toka in jih shrani v ciljno matriko.

preskoči() Ta metoda preskoči/izpusti določeno število bajtov iz vhodnega toka.

na voljo() Poda vsebovane bajte v vhodnem toku.
ponastaviti() Omogoča dostop do točke toka, kjer je bila nastavljena oznaka.

označi () Ta metoda označuje položaj v toku, do katerega so bili prebrani podatki.

markSupported() Analizira, ali sta metodi »mark()« in »reset()« podprti/združljivi v toku.


Preden se odpravite na primer, uvozite naslednje pakete za delo z »InputStream« in njegovim podrazredom:

import java.io.FileInputStream;
import java.io.InputStream;


Primer: Delovanje InputStream v Javi

Ta primer ponazarja delovanje »InputStream« z branjem vsebine datoteke prek metod »InputStream«:

javni razred Inputstream {
javni statični void main ( Argi nizov [ ] ) {
bajt [ ] podano polje = nov bajt [ petdeset ] ;
poskusi {
InputStream readData = nov FileInputStream ( 'readfile.txt' ) ;
System.out.println ( 'Bajti v datoteki -> ' + readData.available ( ) ) ;
readData.read ( podana matrika ) ;
System.out.println ( 'Preberi podatke datoteke: ' ) ;
Niz vsebuje podatke = nov niz ( podana matrika ) ;
System.out.println ( vsebuje podatke ) ;
readData.close ( ) ;
}
ulov ( Izjema razen ) {
razen.getStackTrace ( ) ;
}
} }


V skladu z zgornjimi vrsticami kode izvedite spodnje korake:

    • Najprej ustvarite matriko 'bajtov', ki lahko obsega največ ' petdeset ” vrednosti bajtov v prebrani datoteki.
    • V naslednjem koraku ustvarite » InputStream « z uporabo »FileInputStream« in vrni razpoložljive bajte v navedeni datoteki prek povezanega » na voljo() ” metoda.
    • Nato preberite bajte iz vhodnega toka z uporabo ' preberi() ” metoda.
    • Zdaj pretvorite niz bajtov v niz in prikažite vsebino datoteke.
    • Na koncu zaprite prebrano datoteko s povezanim » zapri() ” metoda.

Izhod


V tem rezultatu je mogoče implicirati, da se število bajtov v datoteki, tj. prostor, ki ga je nabrala vsebina, vrne v skladu z največjim obsegom v nizu bajtov, tj. »50«. Prav tako je vsebina datoteke ustrezno vrnjena.

Vsebina datoteke


Če želite dobiti pregled nad ' preskoči() « in » ponastaviti() ” upoštevajte naslednjo predstavitev:


V tej ilustraciji metoda »skip()« preskoči določeno število bajtov, tj. 5 -> Java ” iz vsebine datoteke od začetka. Metoda »reset()« pa ponastavi tok.

Zaključek

' InputStream 'razred' java.io ” je abstrakten nadrazred, ki ustreza vhodnemu toku bajtov, ki se uporablja za branje podatkov datoteke. Ta razred obsega različne metode, ki učinkovito pomagajo pri metodologijah branja datoteke v skladu z zahtevami. Ta blog je pokazal namen in delovanje »InputStream« v Javi.