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.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.