ЭЭМ, Программалоо
Java: InputStream. киргизүү агымдары
Java, көптөгөн заманбап программалоо тилдери сыяктуу эле, маалыматтарды киргизүү агымынын ишке ашышын колдойт. Java-жылы InputStream байт агымдарынын үчүн базалык класс болуп саналат. Бул курс, биз программанын жүрүшүндө, абстракттуу деп жатат ал мисал түзүү мүмкүн эмес. Бирок, издөөгө топтому мурастайт жана InputStream ишмердүүлүгүн узартуу класстардын топтомун бар. кодду бул класска колдонуу үчүн, ал, java.io.InputStream пакеттеги келинген керек. Андан кийин, биз InputStream классты камсыз негизги иш-милдеттери менен карап, жана аны ишке ашыруу боюнча негизги сабактарды.
InputStream класс ыкмалары
InputStream класс ыкмаларын толук изилдөө аллы бла, аны Closeable жана AutoCloseable Interfaces иштей тургандыгын белгилеп коюу зарыл. Interface Closeable аны агымы менен иш бүткөндөн кийин сөзсүз түрдө жаап керек деп айтылат. Бул ыкма жабуу менен жүргүзүлөт (). Ката учурда InputStream тобу ыкмаларынын көпчүлүгүнүн бери өзгөчө түрү IOException алатын бир аракет блогун жана ыкмасы жакын жүргүзүү үчүн зарыл болгон бардык иш-(), акыры, ал денесин аракет иштөөсүнүн натыйжасында жараша түртүп жатат, ошондуктан бир бирдигин түзөт.
AutoCloseable Interface жакын () ыкмасы ишин жазуусу жана кодексине акыры бөгөт эмес экенин берет олуттуу, коду тейлөө көлөмүн азайтат. Сиз Java жетинчи же кийинчерээк нускасын колдонуу болсо, InputStream агымы ичинде жаткан бардык иш-жабуу үчүн ресурстар менен деп аталган аракет жайгаштырылган болушу мүмкүн.
InputStream классынын негизги ыкмаларын карап көрөлү:
- жеткиликтүү Int () - байттар окуу номерин кайтарып берет;
- Int окуп () - ресурстарды учурдагы Байт алат жана бүтүн өкүлчүлүгүн кайтарып берет; Бардык байт окуп, анда -1 кайтарылып берилет;
- Int окуп (байт [] туруучу) - байт жеткиликтүү бир байт киет түрү түрүндө бөлүп берди (байттар саны, бардык байт окуп, анда ийгиликке жана окуу байттар көрсөтүлгөн жана саны кайтарып өлчөмүнө барабар туруучу окуу -1 кайтарып) окуйт;
- Int окуп (байт [] туруучу, ордун Int, ички байттардын саны) - мурдагы ыкма менен, жүктөөгө, ошондой эле, ал эми белгилүү бир абалда "ордун" менен кылат жана "байттар саны" белгиленген эле көп окуйт;
- көп Skip (узак байт саны) - байт бүтпөс саны жана өткөрүлгөн иш жүзүндөгү санын кайтарат.
InputStream маалыматтарды башка булактары жана түрлөрү менен иштөө үчүн бир нече сабактарды ишке ашырылып жатат. Төмөндө мурас даракты көрсөтүп турат.
окуу материалдары
Байт акыр- даанасын класс FileInputStream ишке берилиштерди окуганга. байт окуу үчүн билэни ачуу үчүн, класстын бир мисалы түзүү үчүн жетиштүү, анын конструкторун өтүү аргумент катары билэ атын. билэ жок, аты өткөрүлүп берилет, анда ал түрү FileNotFoundException өзгөчөлүгүн ыргытат.
ийгиликтүү ачык берилген учурда, жогоруда баяндалган ыкмаларды колдонуп, алар менен иш жүргүзүлүп жатат, мураскору FileInputStream InputStream болуп саналат.
Окуу алгачкы маалымат түрлөрү
Жогоруда берилген мисалда белгилер катары жоромолдоого болот байт баалуулуктар менен иш сүрөттөйт. Бирок, биз бир бүтүн окуу керек болсо, эмне, бөлчөк же логикалык? Java InputStream бул үчүн кыйыр класс DataInputStream ачат. Бул классы конструктор аргумент катары түзүү боюнча ага берилет InputStream үчүн бандеролдо болуп саналат. жиптен бул түрү бинардык түрүндө маалыматтарды окуган.
DataInputStream да алгачкы маалымат түрлөрүн окууга DataInput макамын жана анын ыкмаларын ишке ашырат. Төмөндө бул ыкмалар тизмеси.
Метод аттары өздөрү айтып - алардын ар бири белгилүү бир маалымат түрүн окуп берүү үчүн иштелип чыккан.
Түрдөгү киргизүү агымы
Түрдөгү агым маалыматтар окуу Java-жылы BufferedInputStream классын ишке ашырылат. InputStream бул тобунун коём. Бул класс Эгер ошол эле учурда бир эмес бир нече байттар окуп берип, туруучу агым толуктайт. Бул олуттуу иш натыйжалуулугун жогорулатууга жардам берет. BufferedInputStream тукумунан InputStream кыйыр жана Ошентип, жогоруда аталган бардык ыкмаларын өтөт.
Бул класс эки конструкторлор бар:
- BufferedInputStream (InputStream киргизүү агымы);
- BufferedInputStream (InputStream киргизүү агым, ички туруучу көлөмү)
дизайнерлердин Кол биринчи демейки туруучу өлчөмүн белгилейт, ошондой эле экинчи жылы кол коюп, кетишибиз мүмкүн экени түшүнүктүү болот.
жыйынтыктоо
Биз InputStream негизги ишке ашыруу каралган. Сап () үчүн Java InputStream бир сапты алынган байт айландыруу үчүн керек болсо, тилекке каршы, ал Apache Commons китепканадан, атайын каражаттарды, мисалы IOUtils пайдаланууга болот, ошондуктан ашыкча эмес.
Similar articles
Trending Now