Axborot texnologiyalari va kommunikatsiyalarni
Download 0.51 Mb.
|
2-deadline Abduxakim
FSDataInputStream
FileSystem obyektining open () usuli standart java sinfi o'rniga . io FSDataInputStream sinfining ob'ektini qaytaradi . Bu sinf java ixtisoslashuvidir .io.DataInputStream oqimning istalgan qismidan ma'lumotlarni o'qish imkonini beruvchi tasodifiy kirish yordami bilan: Fayl uzunligidan kattaroq joyda seek () ni chaqirish IOException ni chiqaradi Java sinfining skip() usulidan farqli o'laroq .io.InputStream, oqimni joriy pozitsiyadan tashqaridagi nuqtaga olib boradi, seek( ) usuli fayldagi ixtiyoriy mutlaq pozitsiyaga o'tish imkonini beradi. Listing 3.3 Listing 3.2 ning kengaytmasi bo'lib, faylni standart chiqishga ikki marta yuboradi va birinchi marta faylning boshida joylashgan. Seekable interfeys joylashishni aniqlashni ta'minlaydi va fayl boshidan joriy ofsetni olish usulini o'z ichiga oladi (getPos()): Fayl uzunligidan kattaroq joyda seek () ni chaqirish IOException ni chiqaradi Java sinfining skip() usulidan farqli o'laroq . io.InputStream, oqimni joriy pozitsiyadan tashqaridagi nuqtaga olib boradi, seek ( ) usuli fayldagi ixtiyoriy mutlaq pozitsiyaga o'tish imkonini beradi. Listing 3.3 Listing 3.2 ning kengaytmasi bo'lib, faylni standart chiqishga ikki marta yuboradi va birinchi marta faylning boshida joylashgan. Read() usuli length gacha o'qiydi baytlar berilgan fayl pozitsiyasidan ofset ofsetidagi pozitsiyaga buferda buffer.Qaytish qiymati haqiqatda o'qilgan baytlar sonini o'z ichiga oladi ; qo'ng'iroq qilayotganda, siz qabul qilingan qiymatni tekshirishingiz kerak, chunki u uzunlikdan kamroq bo'lishi mumkin . readFully () usullari buffer.length ga o'qiladi bayt (yoki bufer . uzunlik bufer bayt massivini qabul qiluvchi versiya uchun ); agar bu faylning oxiriga yetsa, EOFException yuboriladi . Ushbu usullarning barchasi joriy fayl ofsetini saqlaydi va thread -safe . Ular faylning asosiy mazmunini o'qish paytida faylning boshqa qismlariga (masalan, metama'lumotlarga) murojaat qilish uchun qulay mexanizmni ta'minlaydi. Nihoyat, shuni yodda tutingki, seek () qo'ng'irog'i nisbatan qimmat va ehtiyotkorlik bilan ishlatilishi kerak. Ilovadagi ma'lumotlarga kirish modeli bir nechta joylashishni aniqlash operatsiyalariga emas, balki oqimli ma'lumotlarni qayta ishlashga asoslangan bo'lishi kerak (masalan, MapReduce yordamida ) . Download 0.51 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling