Ma’lumotlarni faylda yozish va o’qish.
Fayl bu ma’lumotlarning fundamental strukturalaridan biri. Kompyuter- larning dastur bilan ishlashi, tashqi qurilmalar bilan aloqasi fayl strukturasiga asoslangandir.
Fayllar quyidagi masalalarni yechishga asoslangandir:
Qiymatlarni boshqa dasturlar foydalanishi uchun saqlab qo’yish;
Dasturning kiritish-chiqarish tashqi qurilmalari bilan aloqasini tashkil qilish.
Fayl tushunchasining ikki tomoni bor:
Tomondan fayl – tashqi xotiraning biror axborotni saqlovchi nomlangan bir qismidir. Bunday tushunchadagi fayl fizik fayl deb ataladi.
Tomondan fayl – bu dasturda ishlatiladigan ma’lumotlarning turli strukturalaridan biridir. Bunday tushunchadagi fayl mantiqiy fayl deb ataladi, yani u bizning tasavvurimiz bilan hosil qilinadi.
Fizik fayl strukturasi axborot tashuvchi – qattiq yoki yumshoq magnit disklaridagi baytlarning oddiy ketma-ketligidan iborat.
Mantiqiy fayl strukturasi
Mantiqiy fayl strukturasi – bu, faylni dasturda qabul qilish usulidir. Obrazli qilib aytsak, u biz faylning fizik strukturasiga qarashimiz mumkin bo’lgan «shablon»dir.
Ana shunday shablonlarga misol ko’raylik:
Bu yerda har bir belgi faylning bir yozuvi, eof esa faylning oxirini bildiradi. Yo’nalish tugmasi belgisini marker deb ataylik, markerni dastur ko’rsatmasi bilan faylning ixtiyoriy yozuviga keltirib qo’yish va o’sha yozuvni o’qish mumkin. Bunda har bir o’qishda faqat bitta belgi o’qiladi.
Yuqorida fayl yozuvi sifatida belgili tipni oldik, endi fayl yozuvi sifatida strukturani olamiz: Bu yerda bizda strukturada quyidagicha malumotlar bor desak
2.3.1-jadval. Fayl strukturasidagi ma’lumotlar ko’rinishi.
Aliev
|
Buxoro,15
|
1974
|
Bozorov
|
P.Neruda,12
|
1985
|
Akramov
|
Nakshband,45
|
1980
|
Karimov
|
Galaba,13
|
1976
|
Har bir yozuvda 3 ta maydon bor va yozuvlar soni esa to’rtta. Agar biz fayldan 1-chi yozuvni o’qishni buyursak, unda bir o’qishda 3 ta o’zgaruvchida
Aliev, Buxoro 15, 1974 ma’lumotlari birdaniga o’qiladi. Buni qanday amalga oshirishni quyida ko’ramiz.
Agar fayl strukturasini massiv strukturasiga solishtirsak, quyidagi farqlarni ko’ramiz:
Massivda elementlar soni xotirani taqsimlash vaqtida o’rnatiladi va u to’laligicha tezkor xotiraga joylashadi. Massiv elementlari raqamlanishi uni e’lon qilishda ko’rsatilgan quyi va yuqori chegaralarga mos holda o’rnatiladi.
Faylda esa elementlar(yozuvlar) soni dastur ishi jarayonida o’zgarishi mumkin va u tashqi axborot tashuvchilarda joylashgan. Fayl elementlarini raqamlash 0 dan boshlanadi va elementlar soni doim noaniq.
Biz yuqorida o’zgaruvchilarning turli toifalari bilan ishlab keldik. Bular skalyar, oddiy va murakkab tarkiblashgan toifalardir. Bu toifadagi ma’lumotlar yordamida masalalarni yechishda boshlang’ich ma’lumotlar klaviaturadan operativ xotiraga kiritiladi va natija ekranga chiqariladi. Ulardan boshqa dasturlarda foydalanib bo’lmaydi, chunki ular tizimdan chiqilgandan so’ng hech qayerda saqlanmaydi. Bu ma’lumotlarni xotirada saqlash uchun C# tilida ma’lumotlarning faylli toifasi belgilangan.
Toifalashgan fayllar bir xil toifali elementlardan tashkil topadi. Ularni ma’lum qurilmalarda uzatish ham mumkin. Faylning elementlari mashina kodlarida yoziladi va saqlanadi.
Toifalashmagan fayllarda turli toifadagi malumotlarni saqlash mumkin.
Ular ham mashina kodlarida yozilgan bo’lib baytlar to’plamini tashkil qiladi.
Matnli fayllar ASCII kodlardan tashkil topgan va qatorlarga ajratilgan bo’ladi. Matnli fayllarda nafaqat faylning yakunida fayl oxiri belgisi, balki har qatorning yakunida maxsus qator oxiri belgisi qo’yiladi.
Fayl tipidagi o’zgaruvchi fayl o’zgaruvchisi deyiladi, u faylning mantiqiy nomini belgilaydi va u mantiqiy fayl bilan tashqi(fizik) fayl o’rtasida
«vositachi» vazifasini o’taydi.
Yuqoridagi barcha turdagi fayllar ustida, umuman olganda quyidagi amallarni bajarish mumkin va bu amallar uchun quyidagi maxsus metodlar ishlatiladi:
Fayllarda ma’lumotlarni yozish va o’qishni misollar orqali qarab chiqamiz.
Dostları ilə paylaş: |