WebElektronika

Könyvtárkezelések a C# nyelvben

person access_time 2017.12.04.
Készítünk most egy konzolalkalmazást, amelyenek a segítségével megjelenítjük a számítógépünk meghajtóit, majd a C: partíció könyvtárait fogjuk kilistázni.


Indítsuk el a Visual Studio Community-t, és hozzunk létre egy Console alkalmazást (1. ábra).

kep
1. ábra   Console projekt létrehozása
 

Másoljuk be a következő programot a Progam.cs file-ba, a namespace blokkba. 

class Program
    {
        static void Main(string[] args)
        {
            DriveInfo[] allDrives = DriveInfo.GetDrives();

            foreach (var d in allDrives)
            { 
                Console.WriteLine(d.Name + "\t" + d.DriveType +
                    "\t" + d.RootDirectory + "\t" + d.IsReady);
            }

            Console.ReadLine();
        }
    }

 

A DriveInfo osztályt tartalmazó szerelvény egy "alap" Console alkalmazásnál nem került megadásra, ezért ezt nekünk utólag kell felvennünk (2. ábra). Álljunk rá a DriveInfo szóra a kurzorral, majd kattintsunk a lámpa ikonra, vagy nyomjunk CTRL+pont-ot.

kep
2. ábra   A System.IO szerelvény felvétele a projektbe
 

A programunk visszaadja a GetDrives() metódussal a létező partíciókat, amelyeket eltárolunk az allDrives tömbbe. A foreach ciklus segítségével ezt a tömböt (gyűjtemény) bejárjuk, és megjelenítjük a Console osztály WriteLine() metódusával a partíciók különböző tulajdonságait (3. ábra).

kep
3. ábra   A megjelenített partíciók
 

Nem minden tulajdonságot tudunk megjeleníteni, mert vannak olyan tulajdonságok (pl.: szabad tárhely), amelyek a CDRom-ná nem értelmezhetők. Ezért a programunkat módosítani kell, vagy kivételdobást kell lekezelnünk a try-catch blokkal, vagy alkalmaznunk kell az IsReady tulajdonságot, amely logikai false-t ad vissza például a CDRom-ra. Ha az IsReady tulajdonság értéke True, akkor a feltételes szerkezet kiértékelésre kerül, és meg tudjuk jeleníteni a különböző meghajtók további tulajdonságait is, például a cimkét, illetve a meghajtó maximális méretét byte-ban.

class Program
    {
        static void Main(string[] args)
        {
            DriveInfo[] allDrives = DriveInfo.GetDrives();

            foreach (var d in allDrives)
            {
                if (d.IsReady)
                {
                    Console.WriteLine(d.Name + "\t" + d.DriveType +
                    "\t" + d.RootDirectory + "\t" + d.AvailableFreeSpace+
                    "\t"+d.DriveFormat+"\t"+d.VolumeLabel + "\t"+d.TotalSize);
                }                
            }

            Console.ReadLine();
        }
    }

 

A módosított programunk futási eredményét mutatja a 4. ábra, ahol már a CDRom-ot nem találjuk.

kep
4. ábra   Futási eredmény plusz tulajdonságokkal
 

Nézzük most meg részletesebben a "C:" meghajtót, listázzuk ki az összes könyvtárnak a nevét, amely a "root"-ban van. Ehhez másoljuk be a Program.cs file-ba a következő programot.


Ha érdeklődik a cikk teljes tartalma után, kérjük, lépjen be a WebElektronika oldalára.

     Köszönjük.