RačunalnikiProgramiranje

Java: InputStream. vhodni tokovi

Java, kot veliko sodobnih programskih jezikov, podpira izvajanje vhodnih podatkov tokov. V Java InputStream je osnova razred za bajt tokove. Ta razred je abstraktna, da je v okviru programa ne moremo ustvariti primerek tega. Vendar pa io paket je nabor razredov, ki podedujejo in razširjajo funkcionalnosti InputStream. Za uporabo tega razreda v kodi, je treba uvožene iz java.io.InputStream paketa. Dalje, menimo, da je osnovno funkcionalnost, ki zagotavlja razred InputStream in glavne razrede, ki jo izvajajo.

Metode razreda InputStream

Pred nadaljevanjem podrobno preučevanje metod InputStream razreda, je treba omeniti, da se izvaja zaprejo in AutoCloseable vmesnike. Vmesnik zaprejo nam pove, da ob zaključku dela s tokom to nujno zapreti. To se naredi z uporabo metode blizu (). Ker je večina metod razreda InputStream v primeru napake ustvari tipa izjema IOException, vse postopke, potrebne za izvedbo poskusiti blok in metodo close () končno narediti napravo tako, da se sproži glede na rezultat operacije poskusiti telo.

AutoCloseable vmesnik znatno zmanjša količino vzdrževanja kode, saj avtomatično omogoča tesno () metodo dela in ne prispevajo k kodi končno blokirati. Če uporabljate sedmo ali novejšo različico Jave tega lahko InputStream se postavi v tako imenovanem poskusu s sredstvi, ki so vsi postopki za zapiranje toka prevzame.

Razmislite osnovne metode InputStream razreda:

  • int voljo () - vrne število branje bajtov;
  • int brati () - je trenutno bajt vira in vrne zastopanosti celo število; če so vse bajte brati, -1 se vrne;
  • INT glasi (bajt [] pufer) - bere bajta voljo v omenjeni pufer v obliki vrste bajt matrike (število bajtov za branje pufer enaka velikosti navedenega in vrne branje uspelo število bajtov in če vse razpoložljive bajtov brati, vrne -1);
  • INT glasi (bajt [] pufer, int offset, int število bajtov) - preobremenitev prejšnjem postopku, počne isto, vendar z določeno igro "uravnoteži" in bere toliko, kot je določeno v "število bajtov";
  • dolgo skip (long število bajtov) - število bajtov preskakovanje skladb in vrne dejansko število neodgovorjenih.

InputStream se izvaja več razredov, namenjene za delo z različnimi viri in vrste podatkov. Prikazuje drevo dediščino.

branje datotek

Bajt tok za branje podatkov iz datoteke se izvajajo razred FileInputStream. Če želite odpreti datoteko za branje bajtov, dovolj, da ustvarite primerek razreda, ki poteka na svojem konstruktorju ime datoteke kot argument. Če je datoteka prenesena na ime ne obstaja, bo vrgel izjemo tipa FileNotFoundException.

V primeru uspešne odprte datoteke, je delo z njimi izvaja z uporabo zgoraj opisane metode, kot je naslednik FileInputStream InputStream.

Branje primitivnih podatkovnih tipov

V zgornjem primeru opisuje delo bajt vrednostmi, ki jih je mogoče razlagati kot simbolov. Toda kaj, če smo morali prebrati celo, delno ali logično vrednost? Če želite to narediti v Java InputStream posredno razširja razred DataInputStream. Ta razred je ovoj za InputStream, ki so mu bila posredovana na ustvarjanje kot konstruktorja argument. Ta vrsta nit prebere podatke v binarni obliki.

DataInputStream izvaja tudi vmesnik DataInput in njene metode za branje primitivne vrste podatkov. Spodaj je seznam teh metod.

Imena Metoda govorijo same zase - vsak od njih je zasnovan tako, da se glasi določeno vrsto podatkov.

Buffered vhodni tok

Puferirana tok podatkov branje je spoznal BufferedInputStream razred v Javi. InputStream je ovit s tem razredu. Ta razred dopolnjuje buffer tok, ki vam omogoča, da se glasi hkrati ne enega, ampak več bajtov. To omogoča, da bistveno izboljša učinkovitost delovanja. BufferedInputStream potomec InputStream je posredno in tako podeduje vse metode zgoraj omenjenih.

Ta razred ima dve konstruktorje:

  • BufferedInputStream (InputStream vhodni tok);
  • BufferedInputStream (InputStream vhodni tok, INT medpomnilnika)

Podpis oblikovalci lahko razumemo, da je najprej nastavi privzeto buffer velikosti, v drugem pa je mogoče ročno nastaviti.

zaključek

Pregledali smo osnovno izvedbo InputStream. Če morate spremeniti prejetih bajte v niz v Java InputStream do String (), žal, ni preveč, tako da bo imela uporaba posebnih orodij, npr IOUtils iz Apache Commons knjižnice.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sl.atomiyme.com. Theme powered by WordPress.