1 ­­­- amaliy mashgʻulot materiallari mavzu: Fayllar. Reja


Yaratish : Yangi fayl yaratiladi. Agar bunday fayl allaqachon mavjud bo'lsa, uning ustiga yoziladi CreateNew



Download 364,68 Kb.
bet4/6
Sana28.12.2022
Hajmi364,68 Kb.
#896689
1   2   3   4   5   6
Bog'liq
C# Fayllar

Yaratish : Yangi fayl yaratiladi. Agar bunday fayl allaqachon mavjud bo'lsa, uning ustiga yoziladi

  • CreateNew : Yangi fayl yaratiladi. Agar bunday fayl allaqachon mavjud bo'lsa, dastur xatolik yuz beradi.

  • Ochish : faylni ochadi. Agar fayl mavjud bo'lmasa, istisno chiqariladi.

  • OpenOrCreate : agar fayl mavjud bo'lsa, u ochiladi, agar bo'lmasa, yangisi yaratiladi

  • Kesish : Agar fayl mavjud bo'lsa, u qayta yoziladi. Fayl faqat yozish uchun ochiladi.

    FileStream obyektini yaratishning yana bir usuli File sinfining statik usullaridan iborat:

    Birinchi usul FileMode obyekti berilgan faylni ochadi va FileStream fayl oqimini qaytaradi. Ushbu usulda bir nechta haddan tashqari yuklangan versiyalar ham mavjud. Ikkinchi usul o'qish uchun oqimni, uchinchisi esa yozish uchun oqimni ochadi.

    Oqimni yopish


    FileStream klassi fayl bilan bog'liq barcha resurslarni chiqarish uchun IDisposable interfeysini amalga oshiradi. Shunga ko'ra, FileStream bilan ishlashni tugatgandan so'ng, Dispose usulini chaqirish orqali u bilan bog'langan faylni chiqarish kerak. To'g'ri yopish uchun Dispose usulini chaqiradigan Close() usulini chaqirishingiz mumkin:

    Yoki FileStream bilan bog'liq barcha resurslarni avtomatik ravishda chiqaradigan konstruksiyadan foydalanishingiz mumkin:

    FileStream xususiyatlari va usullari


    FileStream sinfining eng muhim xususiyatlarini ko'rib chiqing :

    • Length xususiyati : oqim uzunligini baytlarda qaytaradi

    • Position xususiyati : oqimdagi joriy pozitsiyani qaytaradi

    • Name xususiyati : FileStream-da ochilgan faylga mutlaq yo'lni qaytaradi

    Fayllarni o'qish/yozish uchun FileStream sinfining quyidagi usullaridan foydalanish mumkin :

    • void CopyTo(Stream destination): joriy oqimdan maʼlumotlarni maqsadli oqimga koʻchiradi

    • Task CopyToAsync(Stream destination): CopyTo usulining asinxron versiyasi

    • void Flush(): bufer tarkibini faylga tozalaydi

    • Task FlushAsync(): Flush usulining asinxron versiyasi

    • 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 massivi

      • offset- massivdagi baytlarda ofset, oqimga bayt yozishni qaerdan boshlash kerak

      • count- yoziladigan baytlarning maksimal soni

    • Task WriteAsync(byte[] array, int offset, int count): Write usulining asinxron versiyasi

    Fayllarni o'qish va yozish


    FileStream bayt darajasidagi fayllarga kirishni ifodalaydi, shuning uchun, masalan, matn fayliga bir yoki bir nechta satrlarni o'qish yoki yozish kerak bo'lsa, u holda bayt massivi maxsus usullar yordamida satrlarga aylantirilishi kerak. Shuning uchun matnli fayllar bilan ishlash uchun boshqa sinflardan foydalaniladi. Shu bilan birga, ma'lum bir tuzilishga ega bo'lgan turli xil ikkilik fayllar bilan ishlashda FileStream ma'lum ma'lumotlarni ajratib olish va uni qayta ishlash uchun juda foydali bo'lishi mumkin. Matnli faylga o‘qish-yozish misolini ko‘rib chiqamiz:


    Keling, ushbu misolni tahlil qilaylik. Birinchidan, faylga yo'lni va faylga yozish uchun matnni aniqlaymiz. O'qish va yozishda ham qurilish FileStream ob'ektini yaratish va o'chirish uchun ishlatiladi using, shundan so'ng usul yaratilgan FileStream ob'ektida avtomatik ravishda chaqiriladi Dispose va shu bilan ob'ekt yo'q qilinadi. Fayl operatsiyalari uzoq vaqt talab qilishi va dasturda to'siq bo'lishi mumkinligi sababli, FileStream usullarining asinxron versiyalaridan foydalanish tavsiya etiladi. Yozish ham, o'qish ham kodlash ob'ektidan Encoding.Default foydalanadi System.Text. Bunda biz uning ikkita usulidan foydalanamiz: GetBytes satrdan baytlar massivini olish va baytlar GetString massividan satr olish.
    Yozib olingan fayl asosan ikkilik fayldir (matnli fayl emas), garchi unga faqat satr yozsak, bu faylni matn muharririda ochish orqali odam oʻqiy oladigan shaklda koʻrishimiz mumkin. Biroq, agar biz unga tasodifiy baytlarni yozsak, masalan:



    1. Download 364,68 Kb.

      Do'stlaringiz bilan baham:
  • 1   2   3   4   5   6




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

    kiriting | ro'yxatdan o'tish
        Bosh sahifa
    юртда тантана
    Боғда битган
    Бугун юртда
    Эшитганлар жилманглар
    Эшитмадим деманглар
    битган бодомлар
    Yangiariq tumani
    qitish marakazi
    Raqamli texnologiyalar
    ilishida muhokamadan
    tasdiqqa tavsiya
    tavsiya etilgan
    iqtisodiyot kafedrasi
    steiermarkischen landesregierung
    asarlaringizni yuboring
    o'zingizning asarlaringizni
    Iltimos faqat
    faqat o'zingizning
    steierm rkischen
    landesregierung fachabteilung
    rkischen landesregierung
    hamshira loyihasi
    loyihasi mavsum
    faolyatining oqibatlari
    asosiy adabiyotlar
    fakulteti ahborot
    ahborot havfsizligi
    havfsizligi kafedrasi
    fanidan bo’yicha
    fakulteti iqtisodiyot
    boshqaruv fakulteti
    chiqarishda boshqaruv
    ishlab chiqarishda
    iqtisodiyot fakultet
    multiservis tarmoqlari
    fanidan asosiy
    Uzbek fanidan
    mavzulari potok
    asosidagi multiservis
    'aliyyil a'ziym
    billahil 'aliyyil
    illaa billahil
    quvvata illaa
    falah' deganida
    Kompyuter savodxonligi
    bo’yicha mustaqil
    'alal falah'
    Hayya 'alal
    'alas soloh
    Hayya 'alas
    mavsum boyicha


    yuklab olish