Na’muna №1:
1-mashq: Fayldan ma'lumotlarni o'qing va uni konsolga chiqaring.
using
System;
using
System.IO;
namespace
Oqimlar
{
class
Program
{
static
void
Main(
string
[] args)
{
string
filePath =
@"d:\data.txt"
;
using
(StreamReader streamReader =
new
StreamReader(filePath))
{
string
line;
while
((line = streamReader.ReadLine()) !=
null
)
{
Console.WriteLine(line);
}
}
}
}
}
Sharh: Bu dastur StreamReader obyekti yordamida fayldan ma’lumotlarni qanday
o‘qish va uni konsolga chiqarishni ko‘rsatadi.
Na’muna №2:
2-mashq: Ma’lumotlarni faylga yozish.
using
System;
using
System.IO;
namespace
Oqimlar
{
class
Program
{
static
void
Main(
string
[] args)
{
string
filePath =
@"d:\data.txt"
;
string
[] lines = {
"line 1"
,
"line 2"
,
"line 3"
};
using
(StreamWriter streamWriter =
new
StreamWriter(filePath))
{
foreach
(
string
line
in
lines)
{
streamWriter.WriteLine(line);
}
}
}
}
}
Sharh: Ushbu dastur StreamWriter ob'ekti yordamida faylga ma'lumotlarni qanday
yozishni ko'rsatadi.
Na’muna №3:
3-mashq: Faylni yangi joyga nusxalash.
using
System;
using
System.IO;
namespace
Oqimlar
{
class
Program
{
static
void
Main(
string
[] args)
{
string
sourceFilePath =
@"d:\source.txt"
;
string
destinationFilePath =
@"d:\destination.txt"
;
File.Copy(sourceFilePath, destinationFilePath);
}
}
}
Sharh: Ushbu dastur File.Copy usuli yordamida faylni yangi joyga ko'chirishni
ko'rsatadi.
Na’muna №4:
4-mashq: Faylni o‘chirish.
using
System;
using
System.IO;
namespace
Oqimlar
{
class
Program
{
static
void
Main(
string
[] args)
{
string
filePath =
@"d:\destination.txt"
;
if
(File.Exists(filePath))
{
File.Delete(filePath);
}
}
}
}
Sharh: Ushbu dastur File.Delete usuli yordamida faylni qanday o'chirishni
ko'rsatadi.
Na’muna №5:
5-mashq: Fayl ma'lumotlarini oling.
using
System;
using
System.IO;
namespace
Oqimlar
{
class
Program
{
static
void
Main(
string
[] args)
{
string
filePath =
@"d:\source.txt"
;
FileInfo fileInfo =
new
FileInfo(filePath);
Console.WriteLine(
$"File name:
{fileInfo.Name}
"
);
Console.WriteLine(
$"File size:
{fileInfo.Length}
bytes"
);
Console.WriteLine(
$"Creation time:
{fileInfo.CreationTime}
"
);
Console.WriteLine(
$"Last access time:
{fileInfo.LastAccessTime}
"
);
Console.WriteLine(
$"Last write time:
{fileInfo.LastWriteTime}
"
);
}
}
}
Sharh: Ushbu dastur FileInfo sinfidan foydalanib fayl haqida ma'lumot olishni
ko'rsatadi. Dastur fayl nomi, hajmi, yaratilish vaqti, oxirgi kirish vaqti va oxirgi
yozish vaqtini chiqaradi.
Fayl tizimi bilan ishlash:
C# tilida fayl tizimi kompyuterning saqlash
qurilmalaridagi fayllar va kataloglarni tashkil etish va boshqarishni bildiradi. C# fayl
tizimi bilan ishlash uchun bir nechta sinflar va usullarni, shu jumladan System.IO
nom maydonini taqdim etadi.
C# tilidagi fayl tizimi ierarxik bo'lib, ildiz katalogi ierarxiyaning yuqori qismida
joylashgan. Papkalar sifatida ham tanilgan kataloglar daraxtga o'xshash tuzilmani
tashkil etuvchi fayllar va boshqa kataloglarni o'z ichiga olishi mumkin.
C# tilidagi fayllar va kataloglarga kirish uchun siz System.IO nom maydoni
tomonidan taqdim etilgan sinflar va usullardan foydalanasiz. File va DirectoryInfo
sinflari mos ravishda fayllar va kataloglarni boshqarish uchun ishlatiladi.
File klassi fayllarni yaratish, ochish, o'qish, yozish va o'chirish usullarini taqdim
etadi. Ba'zi tez-tez ishlatiladigan usullar orasida Yaratish, Ochish, ReadAllText,
WriteAllText va Delete kiradi.
DirectoryInfo klassi kataloglar va ularning mazmunini yaratish, o'chirish va sanash
usullarini taqdim etadi. Ba'zi tez-tez ishlatiladigan usullar mavjud: CreateDirectory,
Delete, GetFiles va GetDirectories.
C# fayl tizimi bilan ishlash uchun bir qancha boshqa sinflar va tuzilmalarni ham
taqdim etadi, masalan, fayllar bilan ishlashning qoʻshimcha xossalari va usullarini
taʼminlovchi FileInfo klassi va fayl va katalog yoʻllarini boshqarish usullarini
taqdim qiluvchi Path klassi.
Fayllar va kataloglar bilan ishlashda xavfsizlik va ruxsatlarni hisobga olish
muhimdir. C# fayl va katalog ruxsatlarini o'rnatish va kirish huquqlarini tekshirish
usullarini taqdim etadi.
Xulosa qilib aytganda, C# tilidagi fayl tizimi ierarxik bo'lib, ildiz katalogi
ierarxiyaning yuqori qismida joylashgan. File va DirectoryInfo sinflari fayllar va
kataloglarni boshqarish uchun ishlatiladi, Path klassi esa fayl va katalog yo'llarini
boshqarish usullarini taqdim etadi. Fayllar va kataloglar bilan ishlashda xavfsizlik
va ruxsatlarni hisobga olish muhim.
Amalda, C# da fayllar va kataloglar bilan ishlash System.IO nom maydoni
tomonidan taqdim etilgan sinflar va usullardan foydalanishni o'z ichiga oladi. Mana
C# da fayl tizimi bilan ishlashning amaliy misollari:
Yangi katalog yaratish:
string
path =
@"C:\MyFolder"
;
if
(!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
Yangi fayl yaratish va unga yozish:
string
filePath =
@"C:\MyFolder\myfile.txt"
;
if
(!File.Exists(filePath))
{
using
(StreamWriter sw = File.CreateText(filePath))
{
sw.WriteLine(
"This is some text to write to the file."
);
}
}
Fayl tarkibini o'qish:
string
filePath =
@"C:\MyFolder\myfile.txt"
;
if
(File.Exists(filePath))
{
File.Delete(filePath);
}
Katalogni o'chirish:
string
path =
@"C:\MyFolder"
;
if
(Directory.Exists(path))
{
Directory.Delete(path,
true
);
// the "true" parameter deletes all files and
subdirectories
}
Faylni yangi joyga ko'chirish:
string
sourceFilePath =
@"C:\MyFolder\myfile.txt"
;
string
destFilePath =
@"C:\MyOtherFolder\myfile.txt"
;
if
(File.Exists(sourceFilePath))
{
File.Copy(sourceFilePath, destFilePath);
}
Bular C # yordamida amalga oshirilishi mumkin bo'lgan ko'plab fayl tizimini qayta
ishlash operatsiyalarining bir nechta Na’munalari. Fayllar va kataloglar bilan
ishlashda, agar topilmasa, Fayl topilmaydigan istisnolar va xatolarni boshqarish juda
muhim, masalan, xato xatolari, rad etilgan xatolar yoki disklar to'liq xatolar.
Mustaqil bajarish uchun savol va topshiriqlar
Savollar:
1. C# dasturlash tilida oqim nima?
2. C# da qanday oqim turlari mavjud?
3. C# dasturlash tilida fayl kiritish/chiqarish nima?
4. C# da fayldan ma'lumotlarni qanday o'qiysiz?
5. C# da faylga ma'lumotlarni qanday yozish mumkin?
6. C# da BinaryReader va StreamReader o'rtasidagi farq nima?
7. C# yordamida yangi katalogni qanday yaratasiz?
8. C# da faylni qanday o'chirish mumkin?
9. C# da mavjud faylga matnni qanday qo'shish mumkin?
10. C# da fayl hajmini qanday olish mumkin?
11. C# da FileMode va FileAccess dan qanday foydalanish kerak?
12. C# yordamida fayl nomini qanday o'zgartirasiz?
13. BufferedStream-dan C# da qanday foydalanish mumkin?
14. C# da vaqtinchalik faylni qanday yaratasiz?
15. C# da faylni qanday nusxalash mumkin?
16. FileStream-dan C# da qanday foydalanish mumkin?
17. C# da faylni satrga qanday o'qiysiz?
18. C# da FileInfo sinfidan qanday foydalanish mumkin?
19. C# da fayl mavjudligini qanday tekshirish mumkin?
20. C# da faylni bir katalogdan boshqasiga qanday o'tkazish mumkin?
Do'stlaringiz bilan baham: |