ComputersProgramming

Java: InputStream. tswv yim ntws

Java, zoo li ntau niaj hnub programming lus, txhawb qhov kev siv ntawm cov ntaub ntawv tswv yim ntws. Nyob rau hauv Java InputStream yog puag hauv chav kawm ntawv rau byte ntws. Qhov no hauv chav kawm ntawv yog paub daws teeb, uas yog, nyob rau hauv lub chav kawm ntawm qhov kev pab cuam peb yuav tsis tsim ib qho kev piv txwv ntawm nws. Txawm li cas los, rhuav tshem cov ntaub pob muaj ib tug txheej ntawm cov chav kawm ntawv uas txais qub txeeg qub thiab cuag lub functionality ntawm InputStream. Yuav kom siv tau qhov no hauv chav kawm ntawv nyob rau hauv koj cov cai, nws yuav tsum tau mas ntawm java.io.InputStream pob. Tom ntej no, peb xav txog qhov yooj yim functionality uas muab ib tug InputStream chav kawm ntawv, thiab lub ntsiab kawm uas siv nws.

InputStream chav kawm ntawv txoj kev

Ua ntej cov tswv yim mus rau ib tug ncauj lus kom ntxaws tshawb txog ntawm InputStream chav kawm ntawv txoj kev, nws yuav tsum tau hais tias nws siv Closeable thiab AutoCloseable interfaces. Interface Closeable qhia rau peb hais tias thaum lub kawm tiav ntawm lub chaw ua hauj lwm nrog cov khiav ntawm nws yuav tsum tau raug kaw. Qhov no yog ua li cas siv ib txoj kev nyob ze (). Txij li thaum feem ntau ntawm InputStream chav kawm ntawv txoj kev nyob rau hauv cov ntaub ntawv ntawm ib qho yuam kev generates ib tug kos hom IOException, tag nrho cov ua hauj lwm yuav tsum tau rau kev ib zaug thaiv thiab ib txoj kev nyob ze () thaum kawg ua ib chav tsev li hais tias nws yog tripped nyob rau lub txiaj ntsim ntawm lub lag luam mus sim lub cev.

AutoCloseable interface ho thiaj li tus nqi ntawm cov code txij nkawm, txij li thaum nws tso cai rau kaw () txoj kev ua hauj lwm txiav thiab tsis ntxiv rau koj cov code thaum kawg thaiv. Yog hais tias koj siv lub xya los yog tom qab version ntawm Java, ib tug InputStream yuav muab tso nyob rau hauv thiaj li hu ua zaug uas muaj kev pab uas tag nrho cov ua hauj lwm kaw lub flow yuav siv sij hawm tshaj.

Xav txog cov tswv yim yooj txoj kev InputStream chav kawm ntawv:

  • rau cov menyuam muaj () - rov nyeem tooj ntawm bytes;
  • rau cov menyuam nyeem () - yuav siv sij hawm tam sim no byte ntawm cov kev pab thiab rov integer sawv cev; Yog hais tias tag nrho cov bytes nyeem, -1 rov qab;
  • rau cov menyuam nyeem (byte [] tsis) - Nyeem cov bytes muaj nyob rau hauv hais tias tsis nyob rau hauv daim ntawv ntawm ib tug byte array hom (pes tsawg tus ntawm bytes nyeem tsis sib npaug zos rau qhov luaj li cas teev thiab rov lub xov tooj ntawm bytes nyeem ua tau zoo thiab yog hais tias tag nrho cov muaj nyob rau bytes nyeem, rov -1);
  • rau cov menyuam nyeem (byte [] tsis, rau cov menyuam offset, rau cov menyuam tus naj npawb ntawm bytes) - overload ntawm yav tas los txoj kev, tsis zoo li qub, tab sis nrog ib tug kev cai tswjhwm "offset" txoj hauj lwm thiab nyeem raws li ntau li ntau teev nyob rau hauv lub "xov tooj ntawm bytes";
  • ntev hla (ntev byte count) - tus xov tooj ntawm bytes skips thiab rov lub sij tooj ntawm tsis.

InputStream yog DVR ob peb cov chav kawm ntawv uas tsim los ua hauj lwm nrog qhov chaw sib txawv thiab hom ntawm cov ntaub ntawv. Hauv qab no qhia tau hais tias lub qub txeeg qub teg tsob ntoo.

nyeem ntawv cov ntaub ntawv

Byte kwj rau nyeem cov ntaub ntawv los ntawm cov ntaub ntawv yog DVR chav kawm ntawv FileInputStream. Yog xav qhib ib cov ntaub ntawv rau kev nyeem ntawv bytes, txaus los ua ib tug piv txwv ntawm cov chav kawm ntawv, dua rau nws cov constructor cov ntaub ntawv npe raws li ib tug sib cav. Yog hais tias cov ntaub ntawv yog kis rau lub npe tsis muaj nyob, nws yuav muab pov rau ib qho kev zam ntawm hom FileNotFoundException.

Nyob rau hauv cov ntaub ntawv ntawm ib tug muaj kev vam meej qhib ib cov ntaub ntawv, ua hauj lwm nrog lawv yog nqa tawm siv cov kev piav saum toj no, raws li yog lub successor FileInputStream InputStream.

Nyeem txheej thaum ub cov ntaub ntawv hom

Nyob rau hauv lub saum toj no piv txwv qhia txog kev ua hauj lwm nrog byte qhov tseem ceeb, uas muaj peev xwm muab txhais raws li cov cim. Tab sis li cas yog hais tias peb yuav tsum nyeem ib integer, fractional los yog ib tug Boolean nqi? Ua li no nyob rau hauv Java InputStream kov expands cov chav kawm ntawv DataInputStream. Qhov no hauv chav kawm ntawv yog ib tug wrapper rau InputStream, uas yog kis mus rau nws nyob rau creation raws li ib tug constructor sib cav. Qhov no zoo ntawm cov xov nyeem cov ntaub ntawv nyob rau hauv binary daim ntawv.

DataInputStream kuj implements lub DataInput interface thiab nws txoj kev rau kev nyeem ntawv txheej thaum ub cov ntaub ntawv hom. Hauv qab no yog ib daim ntawv teev cov kev.

Txoj kev npe hais lus rau lawv tus kheej - lawv txhua txhua tus no yog tsim los nyeem ib tug tej yam ntaub ntawv hom.

Buffered tswv yim kwj

Buffered kwj cov ntaub ntawv kev nyeem ntawv yog pom tau hais BufferedInputStream chav kawm ntawv nyob rau hauv Java. InputStream yog qhwv los ntawm cov hoob kawm no. Qhov no hauv chav kawm ntawv complements tus tsis kwj, uas koj mus nyeem nyob rau tib lub sij hawm tsis yog ib qho tab sis ob peb bytes. Qhov no ua rau nws ua tau rau ho txhim kho txoj kev kawm ntawm lub lag luam. BufferedInputStream xeeb leej xeeb ntxwv InputStream yog ib qho indirect thiab yog li inherits tag nrho cov kev hais saum toj no.

Qhov no hauv chav kawm ntawv muaj ob tug constructors:

  • BufferedInputStream (InputStream tswv yim kwj);
  • BufferedInputStream (InputStream tswv yim kwj, rau cov menyuam tsis loj)

Kos npe ntawm tus creators yuav tsum to taub hais tias cov thawj teev lub neej ntawd tsis loj, thiab nyob rau hauv lub thib ob nws yog tau mus teem nws manually.

xaus

Peb rov los xyuas dua qhov yooj yim realization ntawm InputStream. Yog hais tias koj yuav tsum tau hloov tus tau txais bytes rau ib txoj hlua nyob rau hauv Java InputStream rau txoj hlua (), hmoov tsis, yog tsis overloaded, ces nws yuav tau siv tshwj xeeb cov cuab yeej, xws li IOUtils los ntawm Apache Commons tsev qiv ntawv.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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