“Dasturlash asoslari” fanidan “C# dasturlash tilining Directory, DirectoryInfo va DriveInfo sinflari hamda ular bilan ishlash”


III BOB. C# DASTURLASH TILINING DRIVEINFO SINFI VA U BILAN ISHLASH


Download 0.63 Mb.
bet6/6
Sana12.11.2020
Hajmi0.63 Mb.
#144473
1   2   3   4   5   6
Bog'liq
kurs ishi

III BOB. C# DASTURLASH TILINING DRIVEINFO SINFI VA U BILAN ISHLASH

3.1 DriveInfo sinfidan foydalanish


.NET Framework ichidagi System.IO maydon nomi fayllar tizimi bilan ishlash uchun ko'plab sinflarni ta'minlaydi. Sinflardan biri bu DriveInfo sinfi. DriveInfo sinfi kompyuterlar tizimi to'g'risida ma'lumot olish uchun ishlatiladi. Bu sinf drayvni modellashtiradi va drayv ma'lumotlarini so'rov metodlari va xususiyatlarini ta'minlaydi. Drayvlar mavjudligini va ularning qanday turdaligini aniqlash uchun DriveInfodan foydalaniladi. Shuningdek, drayvda bo'sh joy mavjudligini va xajmini aniqlash mumkin. DriveInfo sinflarida ikkita o'xshash xususiyat mavjud: AvailableFreeSpace va TotalFreeSpace. Ko'pgina holatlarda bir xil raqam chiqishi mumkin. AvailableFreeSpace xususiyati drayvda mavjud bo'sh joy miqdorini ko’rsatadi. TotalFreeSpace raqam, chunki bu xususiyat diskdagi kvotalarni hisobga oladi.

DriveInfo sinfi ham yagona konstruktorga ega:

DriveInfo(String) – belgilangan diskdagi ma'lumotlarga kirishni ta'minlaydi.

DriveInfo info = new DriveInfo("C");


3.2 DriveInfo sinfining metodi va xususiyatlari


GetDrives() – bu metod kompyuterdagi barcha mantiqiy drayvlarning drayv nomlarini oladi.

Xususiyatlari:

AvailableFreeSpace – drayvda mavjud bo'lgan bo'sh joy hajmini baytlarda oladi.

TotalFreeSpace – drayvda mavjud bo'lgan bo'sh joyning umumiy hajmini baytlarda oladi.

DriveFormat – NTFS yoki FAT32 kabi fayl tizimining nomini oladi.

DriveType – CD-ROM, removable, network yoki fixed kabi drayv turini oladi.

IsReady – drayv tayyor yoki yo'qligini bildiruvchi qiymatni oladi.

Name – C:\ kabi drayv nomini oladi.

RootDirectory – drayvning asosiy katalogini oladi.

TotalSize – drayvdagi saqlash joyining umumiy hajmini baytlarda oladi.

VolumeLabel – drayvning miqdor belgisini oladi yoki o'rnatadi.

Foydalanish misoli:

using System;
using System.IO;
class Test
{
    public static void Main()
    {
        DriveInfo[] allDrives = DriveInfo.GetDrives();
        foreach (DriveInfo d in allDrives)
        {
            Console.WriteLine("  {0} disk", d.Name);
            Console.WriteLine("  Disk turi: {0}", d.DriveType);
            if (d.IsReady == true)
            {
                Console.WriteLine("  Volume label: {0}", d.VolumeLabel);
                Console.WriteLine("  Fayl tizimi: {0}", d.DriveFormat);
                Console.WriteLine("  Mavjud foydalanuvchiga bo'sh joy: {0, 15} bytes", 
                    d.AvailableFreeSpace);
                Console.WriteLine("  Umumiy bo'sh joy: {0, 15} bytes",
                    d.TotalFreeSpace);
                Console.WriteLine("  Drayvning umumiy hajmi: {0, 15} bytes \n", d.TotalSize);
            }
        }
        Console.ReadKey();
    }
}

Natijasi:




TEST


Standart testlar.

№1


.NET Frameworkda kataloglar bilan ishlash uchun nechta sinf mavjud?

3

2

4

5

№2


Kataloglar bilan ishlaydigan sinflar qatorini ko’rsating

File, FileInfo

DriveInfo, DriveType

Directory, DirectoryInfo

FileStream, MemoryStream

№3


GetCreationTime(String) metodi qanday vazifani bajaradi?

Oxirgi marta kirish sanasi va vaqtini oladi

Oxirgi marta yozilgan sanasi va vaqtini belgilaydi

Katalogning yaratilgan sanasi va vaqtini oladi

Katalogning yaratilgan sanasi va vaqtini belgilaydi

№4


FullName xususiyati …

katalogning nomini qaytaradi

katalogning to'liq yetarli yo'lini qaytaradi

ildiz katalogiga yo'lni qaytaradi

ona katalogiga yo'lni qaytaradi

№5


Yagona katalog operatsiyalari uchun qaysi sinfdan foydalangan ma’qul?

Directory

DirectoryInfo

FileInfo

File

№6


Exists(String) metodi qanday vazifani bajaradi?

Katalogni yangi joyga ko’chiradi

Katalog mavjudligini tekshiradi

Katalogning to’liq nomlarini sanaydigan to’plamini qaytaradi

Katalogdagi har qanday pastki kataloglarni yo’q qiladi

№7


… – katalog ichidagi fayl kengaytmalari haqida ma'lumot beradi

Atributes

Root

Extension

Parent

№8


DriveFormat – …

NTFS yoki FAT32 kabi fayl tizimining nomini oladi

CD-ROM, removable, network yoki fixed kabi drayv turini oladi

drayv tayyor yoki yo'qligini bildiruvchi qiymatni oladi

C:\ kabi drayv nomini oladi

№9


Directory sinfining metodlari qanday metod hisoblanadi?

Static

Instance

Global

Non-static

№10


Directory, DirectoryInfo sinfidan foydalanishdan oldin qanday maydon nomini kiritish kerak?

System.Data

System.Linq

System.IO

System.Collections

Nostandart testlar.



1. Quyidagi berilgan ta’riflarni Directory sinfining metodlari bilan juftlang.

1

Kataloglarni yaratadi

A

Exists(String)

2

Bo’sh katalogni yo’q qiladi

B

CreateDirectory(String)

3

Katalog mavjudligini tekshiradi

C

Move(String, String)

4

Katalogni yangi joyga ko’chiradi

D

Delete(String)

Javob:

1 –

2 –

3 –

4 –

Javob:

Javob:

1 – B

2 – D

3 – A

4 – C

2. Quyida berilgan fikrlarning qaysilari to’ri?

A. Directory va DirectoryInfo sinflarining funksionalligi fayl sinflari (File va FileInfo) ning funksional imkoniyatlariga o’xshaydi.

B. Directory bu fayl hisoblanadi.

C. Directory sinfida faqat statik usullar mavjud.

D. Fayl kataloglarni o’z ichiga oladi.

E. DriveInfo sinfi kompyuterlar tizimi to'g'risida ma'lumot olish uchun ishlatiladi.

F. Konstruktor kataloglarni yaratmaydi, faqat ularni bog'laydi.

G. Name bu katalogning to'liq yetarli yo'lidir.



A

B

C

D

E

F

G






















Javob:

A

B

C

D

E

F

G

Ha

Yo’q

Ha

Yo’q

Ha

Ha

Yo’q


3. DirectoryInfo sinfining metodlari va xususiyatlariga mos raqamlarni jadvalning o’ng tomoniga yozing.

1) Extension, 2) Exists, 3) Create, 4) MoveTo, 5) Name 6) GetCreationTime, 7) CreationTime, 8) Root, 9) GetType



DirectoryInfo sinfi

Javob raqamlar

Metodlari




Xususiyatlari




Javob:

DirectoryInfo sinfi

Javob raqamlar

Metodlari

2), 3), 4), 6), 9)

Xususiyatlari

1), 2), 5), 8), 7)


4. Tushirib qoldirilgan so’zlarni yozing.

1) Drayvlar mavjudligini va ularning qanday turdaligini aniqlash uchun _________dan foydalaniladi.

2) ________ – belgilangan ob'ekt joriy ob'ektga teng yoki yo'qligini aniqlaydi.

3) .NET Framework ichidagi _________ maydon nomi fayllar tizimi bilan ishlash uchun ko'plab sinflarni ta'minlaydi.



Javob:

  1. DriveInfo

  2. Equals(Object)

  3. System.IO

5. Quyidagi dasturni belgilangan qismlarini vazifalari bilan juftlang.

using System;
using System.IO; 1-qism
class Programm 
{
    public static void Main() 
    {
       DirectoryInfo di = new DirectoryInfo(@"C:\MyDir"); 2-qism
        try 
        {
            if (di.Exists)  3-qism
            {
              Console.WriteLine("...");
                return;
            }
            di.Create(); 4-qism
            Console.WriteLine("...");
            di.Delete(); 5-qism
            Console.WriteLine("...");
        } 
        catch (Exception e) 
        {
            Console.WriteLine(e.ToString());
        } 

        Console.ReadKey();


    }
}

1

1-qism

A

Berilgan katalogni yaratadi

2

2-qism

B

Berilgan katalogni yo’q qiladi

3

3-qism

C

Kataloglar bilan ishlaydigan maydon nomini beradi

4

4-qism

D

Katalog ob’ektini yaratadi

5

5-qism

E

Berilgan katalog mavjudligini tekshiradi

Javob:

1 –

2 –

3 –

4 –

5 –

Javob:

Javob:

1 – C

2 – D

3 – E

4 – A

5 – B


6. Quyidagi dastur parchalarini natijalari bilan juftlang.

1

string root = @"Dasturlash";
Console.WriteLine(Directory.GetDirectoryRoot(root));
Console.ReadKey(true);

A

Berilgan katalogni joriy katalog sifatida belgilaydi va qaytaradi

2

string fileName = @"C:\temp\Dir.txt";
File.SetCreationTime(fileName, DateTime.Now);
DateTime dt = File.GetCreationTime(fileName); Console.WriteLine(dt.ToString()); Console.ReadKey(true);

B

Berilgan katalogning ildiz katalogini qaytaradi

3

string root = @"C:\Temp";  
// Katalogning so’nggi kirish vaqtini olish va belgilash  
Directory.SetLastAccessTime(root, DateTime.Now);  
DateTime lastAccessTime = Directory.GetLastAccessTime(root);  
Console.WriteLine(lastAccessTime);   Console.ReadKey(true);

C

Berilgan faylning yaratilgan vaqti va sanasini belgilaydi va qaytaradi

4

 string root = @"C:\Windows";
Directory.SetCurrentDirectory(root);
Console.WriteLine(Directory.GetCurrentDirectory());
Console.ReadKey(true);

D

Berilgan katalogning so’nggi kirish vaqtini belgilaydi va qaytaradi

Javob:

1 –

2 –

3 –




4 –

Javob:

Javob:

1 – B

2 – C

3 – D




4 – A


7. Quyidagi dasturni belgilangan qismlarini vazifalari bilan juftlang.

using System;
using System.IO;
class Test
{
    public static void Main()
    {
        DriveInfo[] allDrives = DriveInfo.GetDrives(); 1-qism
        foreach (DriveInfo d in allDrives)
        {
            Console.WriteLine(d.Name); 2-qism
            Console.WriteLine(d.DriveType); 3-qism
            if (d.IsReady == true) 4-qism
            {
                Console.WriteLine(d.VolumeLabel); 5-qism
                Console.WriteLine(d.DriveFormat); 6-qism
                Console.WriteLine(d.AvailableFreeSpace); 7-qism
                Console.WriteLine(d.TotalFreeSpace); 8-qism
                Console.WriteLine(d.TotalSize); 9-qism
            }
        }
        Console.ReadKey();
    }
}

1

1-qism

A

Foydalanuvchiga mavjud bo’sh joyni oladi

2

2-qism

B

Drayvning umumiy hajmini oladi

3

3-qism

C

Fayl tizimining nomini oladi

4

4-qism

D

Umumiy bo’sh joyni oladi

5

5-qism

E

Barcha mantiqiy drayvlarning nomini oladi

6

6-qism

F

Drayvning miqdor belgisini oladi

7

7-qism

G

Drayv nomini oladi

8

8-qism

H

Drayv tayyor yoki yo'qligini bildiruvchi qiymatni oladi

9

9-qism

I

Drayv turini oladi

Javob:

1 –

2 –

3 –

4 –

5 –

6 –

7 –

8 –

9 –

Javob:

Javob:

1 – E

2 – G

3 – I

4 – H

5 – F

6 – C

7 – A

8 – D

9 – B

XULOSA


Men ushbu kurs ishimda katalog va disklar bilan ishlaydigan sinflarni o’rgandim. Ulardan qanday foydalanish kerakligini va ularning metodlari bilan ishlashni ko’rib chiqdim. Har bir metod uchun namunaviy misollar keltirib o’tdim. Misol qilib ko’rsatgan dasturimlarni SharpDevelop_5.1.0.5216_Setup da bajardim. C# da dastur tuzishda katalog va disklar bilan ishlaydigan sinflarning vazifalarini va ulardan samarali foydalanishni o’rgandim. Shuni xulosa qilamanki, turli dasturlar tuzishda ushbu sinflardan foydalanish mumkin.

FOYDALANILGAN ADABIYOTLAR VA INTERNET RESURSLAR


1. O.I. Jalolov, Sh.M. Sharipov C# dasturlash tilida fayllar bilan ishlash (uslubiy qo’llanma) BUXORO 2014

2. Пахомов Б.И. П12 C# для начинающих. — СПб.: БХВ-Петербург, 2014. — 432 с.: ил.

3. Албахари, Джозеф, Албахари, Бен. А45 С# 6.0. Справочник. Полное описание языка 6-е изд. : Пер. с англ. – М. : ООО “И.Д. Вильямс”, 2016. – 1040 с. : ил. — Парал. тит. англ.

4. Шилдт, Герберт. Ш57 C# 4.0: полное руководство.: Пер. с англ. — М.: ООО "И.Д. Вильямс", 2011. — 1056 с.: ил. — Парал. тит. англ.

5. https://professorweb.ru

6. https://www.c-sharpcorner.com

7. https://docs.microsoft.com

8. https://csharp.net-tutorials.com

9. https://brainoteka.com

10. https://stackoverflow.com




Download 0.63 Mb.

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




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