C# Kortejlar C# kartejlarni e’lon qilish


C# tilida faylarnini arxiblash


Download 260.19 Kb.
bet10/28
Sana18.06.2023
Hajmi260.19 Kb.
#1574109
1   ...   6   7   8   9   10   11   12   13   ...   28
Bog'liq
dasturlash tyorya 8 shrift

14C# tilida faylarnini arxiblash
O'qish/yozish sinflariga qo'shimcha ravishda .NET fayllarni siqish va keyin ularni asl holatiga qaytarish imkonini beruvchi sinflarni taqdim etadi.
Bular ZipFile , DeflateStream va GZipStream sinflari bo'lib, ular System.IO.Compression nom maydonida joylashgan va Deflate yoki GZip siqish algoritmlaridan birining amalga oshirilishini ifodalaydi.

GZipStream va DeflateStream


GZipStream obyektini yaratish uchun siz uning konstruktorlaridan birini ishlatishingiz mumkin:
GZipStream(Stream stream, CompressionLevel level): oqim ma'lumotlarni ifodalaydi va daraja siqilish darajasini belgilaydi GZipStream(Stream stream, CompressionMode mode): rejimi ma'lumotlarning siqilishini yoki aksincha qayta tiklanishini belgilaydi va ikkita qiymatni qabul qilishi mumkin: CompressionMode.Compress: ma'lumotlar siqilgan CompressionMode.Decompress: ma'lumotlar tiklanmoqda.Agar ma'lumotlar siqilgan bo'lsa, u holda oqim arxivlanayotgan ma'lumotlar oqimini ko'rsatadi. Agar ma'lumotlar qayta tiklansa, oqim qayta tiklangan ma'lumotlar yuboriladigan oqimga ishora qiladi. GZipStream(Stream stream, CompressionLevel level, bool leaveMode): leaveMode parametri GZipStream obyekti olib tashlanganidan keyin oqimni ochiq qoldirish yoki qoldirishni belgilaydi. Agar rost bo'lsa, oqim ochiq qoladi GZipStream(Stream stream, CompressionMode mode, bool leaveMode)
Ma'lumotlarni siqish/dekompressiyani boshqarish uchun GZipStream bir qator usullarni taqdim etadi. Ulardan asosiylari:void CopyTo(Stream destination): barcha ma'lumotlarni maqsadli oqimga ko'chiradi Task CopyToAsync(Stream destination): CopyTo usulining asinxron versiyasi
void Flush(): buferni tozalaydi, uning barcha ma'lumotlarini faylga yozadiTask FlushAsync(): Flush usulining asinxron versiyasiint Read(byte[] array, int offset, int count): Fayldan ma'lumotlarni bayt massiviga o'qiydi va muvaffaqiyatli o'qilgan baytlar sonini qaytaradi. U uchta parametrni oladi:
array- fayldan o'qilgan ma'lumotlar joylashtiriladigan baytlar massivioffseto'qilgan baytlar joylashtiriladigan massivdagi baytlardagi ofsetni ifodalaydicount- o'qilishi kerak bo'lgan baytlarning maksimal soni. Agar faylda kamroq bayt bo'lsa, ularning barchasi o'qiladi.
int Read(byte[] array, int offset, int count): Fayldan ma'lumotlarni bayt massiviga o'qiydi va muvaffaqiyatli o'qilgan baytlar sonini qaytaradi. U uchta parametrni oladi:array- fayldan o'qilgan ma'lumotlar joylashtiriladigan baytlar massivi
offseto'qilgan baytlar joylashtiriladigan massivdagi baytlardagi ofsetni ifodalaydi
count- o'qilishi kerak bo'lgan baytlarning maksimal soni. Agar faylda kamroq bayt bo'lsa, ularning barchasi o'qiladi.Task ReadAsync(byte[] array, int offset, int count): Read usulining asinxron versiyasi
long Seek(long offset, SeekOrigin origin): oqimdagi pozitsiyani ofset parametrida ko'rsatilgan baytlar soniga qarab o'rnatadi.
void Write(byte[] array, int offset, int count): Bayt massividan faylga ma'lumotlarni yozadi. U uchta parametrni oladi:array- ma'lumotlar faylga yoziladigan baytlar massivioffset- massiv massivida baytlarda ofset, oqimga bayt yozishni qaerdan boshlash kerakcount- yoziladigan baytlarning maksimal soniTask WriteAsync(byte[] array, int offset, int count): Write usulining asinxron versiyasi

Download 260.19 Kb.

Do'stlaringiz bilan baham:
1   ...   6   7   8   9   10   11   12   13   ...   28




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling