|
Har doim oqimlarni yoping
|
bet | 10/13 | Sana | 24.01.2024 | Hajmi | 103,17 Kb. | | #144805 |
Bog'liq adhambek11011107Har doim oqimlarni yoping
Oqimni endi kerak bo‘lmaganda yopish juda muhim — shu qadar muhimki, xatolik yuz bergan taqdirda ham ikkala oqim ham yopilishini kafolatlash uchun blokdan CopyBytesfoydalaniladi . finallyUshbu amaliyot jiddiy resurs qochqinlarining oldini olishga yordam beradi.
Mumkin bo'lgan xatolardan biri CopyBytesbitta yoki ikkala faylni ochib bo'lmadi. Bu sodir bo'lganda, faylga mos keladigan oqim o'zgaruvchisi hech qachon boshlang'ich qiymatidan o'zgarmaydi null. Shuning uchun CopyByteshar bir oqim o'zgaruvchisi ni chaqirishdan oldin ob'ekt havolasini o'z ichiga olganligiga ishonch hosil qiling close.
Bayt oqimlaridan qachon foydalanmaslik kerak
CopyBytesoddiy dastur kabi ko'rinadi, lekin u aslida siz qochishingiz kerak bo'lgan past darajadagi kiritish-chiqarish turini ifodalaydi. Belgilar ma'lumotlarini o'z ichiga olganligi sababli , keyingi bo'limda muhokama qilinganidek, eng yaxshi yondashuv belgilar oqimlaridanxanadu.txt foydalanishdir . Bundan tashqari, murakkabroq ma'lumotlar turlari uchun oqimlar mavjud. Bayt oqimlari faqat eng oddiy kiritish-chiqarish uchun ishlatilishi kerak.
Xo'sh, nima uchun bayt oqimlari haqida gapirish kerak? Chunki boshqa barcha oqim turlari bayt oqimlari ustiga qurilgan.
Bayt oqimi va belgilar oqimiga kirish
Siz hech o'ylab ko'rganmisiz, biz Java-da yozadigan turli xil fayllarga qanday kirishadi va qayta ishlanadi yoki Java bunday fayllardagi operatsiyalarni qanday boshqarishi mumkin? Aytaylik, agar biz noutbukimizdagi faylni qalam diskiga nusxalamoqchi bo'lsak, bu qanday sodir bo'ladi?
Kirish/chiqish (kirish/chiqish) oqimi kirish manbasini yoki chiqish manzilini ifodalash uchun ishlatiladi . U disk fayllari (doimiy saqlash qurilmalaridagi ma'lumotlarni boshqaradigan tizimlar, masalan, qattiq disk yoki magnit disk) yoki qurilmalar kabi ko'plab manbalar va manzillarni ko'rsatishi mumkin.
Oqim usuli faylga ketma-ket kirishga yordam beradi. Ba'zi oqimlar shunchaki ma'lumotlarni uzatadi, ba'zilari esa ma'lumotlarni foydali tarzda boshqaradi va o'zgartiradi. Misol uchun, ba'zi oqimlar fayl mazmunini boshqasiga ko'chiradi va ularni o'zgartirmaydi yoki ba'zi oqimlar ma'lumotlarni qo'shish yoki filtrlash va hokazo kabi manipulyatsiyalarni amalga oshiradi. Oqimlar ko'p turdagi ma'lumotlarni qo'llab-quvvatlaydi, jumladan baytlar, ibtidoiy ma'lumotlar turlari, belgilar va ob'ektlar.
java.io to'plami foydalanuvchiga Unicode belgilar oqimi va Unicode bo'lmagan matnning bayt oqimlari o'rtasida konvertatsiya qilish imkonini beruvchi sinflarni o'z ichiga oladi .
|
| |