Makombiyuta, Zvirongwa
Java: InputStream. chiyamuro hova
Java, kufanana zhinji ano zvirongwa mitauro, inotsigira Implementation kuti mashoko chiyamuro hova. In Java InputStream ndiye kirasi umbowo byte hova. kirasi Izvi zvakaoma, kuti, mukufamba yepurogiramu hatigoni pave chiitiko chacho. Zvisinei, io pasuru akaronga nemakirasi kuti nhaka uye aita functionality pamusoro InputStream. Kushandisa kirasi iyi mubumbiro yako, zvinofanira kutorwa kubva java.io.InputStream pasuru. Next, isu funga inokosha functionality kuti rinopa InputStream kirasi, uye huru nemakirasi dzika nayo.
InputStream kirasi nzira
Usati mberi mashoko akakwana kudzidza InputStream mukirasi nzira, zvinofanira kutaurwa kuti zvokurimisa Closeable uye AutoCloseable interfaces. Inowanikwa Closeable anotiudza kuti pane pakupera basa aibuda zvinofanira hazvo kuvharwa. Izvi zvinoitwa kushandisa nzira pedyo (). Sezvo vazhinji InputStream mukirasi nzira pakuparwa kukanganisa zvinowanisa zvagara mhando IOException, zvose akavhiyiwa kunodiwa kuitisa wekuedza nechigumbuso uye nzira pedyo () pakupedzisira kuti chikwata kuitira kuti apingirishwa zvichienderana mugumisiro kushanda kuedza muviri.
AutoCloseable inowanikwa yekudyidzana kunoderedza uwandu remitemo nazvo, sezvo anobvumira pedyo () nzira basa rwoga uye regai kuwedzera romutemo kwako pakupedzisira kuvhara. Kana ukashandisa rechinomwe kana akazotevera shanduro Java, imwe InputStream anogona kuiswa inonzi wekuedza pamwe zvinhu izvo zvose akavhiyiwa kuvhara kuerera anotora pamusoro.
Funga dzinokosha nzira InputStream mukirasi:
- Int iripo () - anodzoka munhu iverengwe nhamba bytes;
- Int verenga () - anotora magetsi byte pamusoro zvekuvaka uye akadzorera integer kumiririrwa; kana zvose bytes kuverenga, -1 akadzokera;
- Int verenga (byte [] buffer) - Anoverenga bytes rinowanika akati buffer ari muchimiro byte kuko mhando (nhamba bytes vanoriverenga Buffer akaenzana pakukura hwakarayirwa uye anodzoka uwandu bytes verenga vakabudirira uye kana bytes zvose zvinowanikwa verenga, anodzoka -1);
- Int verenga (byte [] buffer, Int zvaizopedza, Int nhamba bytes) - zadzisa of rapfuura nzira, anoita chete, asi ne yakati "zvaizopedza" chinzvimbo uye anoverenga sekuda kuisa mu "nhamba bytes";
- refu Darika (refu byte count) - uwandu bytes skips uye anodzoka chaiko nhamba ndakarovha.
InputStream iri rakatangwa makirasi akawanda akagadzirirwa kushanda zvakasiyana manyuko uye marudzi mashoko. Below kunoratidza nhaka muti.
kuverenga mafaira
Byte Rwizi kuverenga mashoko kubva mafaira iri rakatangwa kirasi FileInputStream. Kuti uvhure faira kuverenga BYTES, zvakakwana kuti pave inoonekwa mukirasi, vachipfuura yayo constructor faira zita sechinhu nharo. Kana faira iri hwakatamisirwa zita hakuwaniki, izvozvo achakanda chinhu kunze mhando FileNotFoundException.
Kana munhu abudirire rakavhurika faira, basa navo rinoitwa kushandisa nzira pamusoro apa, sezvo ari akatsiva FileInputStream InputStream.
Kuverenga chinyakare date mhando
In muenzaniso pamusoro anotsanangura basa pamwe byte tsika, iyo inogona kududzirwa sezviratidzo. Asi chii kana tichida kuverenga integer, fractional kana Boolean ukoshi? Kuti vaite izvi Java InputStream zvisina kunanga anowedzera neboka DataInputStream. kirasi uyu wrapper pamusoro InputStream, iro akapfuura nayo pakusika sechinhu constructor nharo. mhando iyi shinda anoverenga mashoko ari binary chimiro.
DataInputStream zvakare zvokurimisa ari DataInput inowanikwa uye nzira yacho kuverenga chinyakare mashoko mhando. Pasi mazita nzira idzi.
Nzira mazita kutaura pachavo - mumwe nomumwe wavo rakagadzirirwa kuverenga imwe date mhando.
Buffered chiyamuro hill
Buffered rukova date kuverenga chaitwa BufferedInputStream kirasi Java. InputStream wakatesvererwa nokuda kirasi iyi. kirasi iyi anotsigira kuti buffer rukova, vachibvumira kuti kuverenga panguva hapana mumwe asi bytes dzakawanda. Izvi zvinoita kuti yekudyidzana kuvandudza mabasa kuvhiyiwa. BufferedInputStream muzukuru InputStream ndiyo isina kunanga uye nokudaro nhaka zvose nzira ataurwa pamusoro.
kirasi iyi ine Makontakta maviri:
- BufferedInputStream (InputStream chiyamuro rukova);
- BufferedInputStream (InputStream chiyamuro rukova, Int buffer saizi)
Signature of vagadziri zvinogona kunzwisiswa kuti wokutanga hunoronga default buffer kukura, uye yechipiri zvinokwanisika kuti ndirusime manually.
mhedziso
Taiongorora inokosha kuzadziswa InputStream. Kana uchida kutendeutsa vaigamuchira bytes kuti tambo iri Java InputStream kuna String (), zvinosuruvarisa haina migweje, saka zvichaita kuti kushandisa maturusi semuenzaniso IOUtils kubva Apache Commons raibhurari.
Similar articles
Trending Now