A könyvtárakkal kapcsolatos műveleteket a Directory osztály valósítja meg. Ezen osztály csak statikus metódusokat tartalmaz. Ezek közül a legfontosabbak:
static DirectoryInfo CreateDirectory(string path)
Létrehozza a paraméterként megadott könyvtárat. Paraméternek a könyvtár teljes elérési útvonalát meg kell adni. Pl: C:\dokumentumok\újmappa
static void Delete(string path)
static void Delete(string path, bool recursive)
Törli a paraméterként megadott könyvtárat. Első paramétere a törlésre szánt könyvtár. Ha a két paraméteres változatot használjuk és az igaz értékű, akkor a könyvtár teljes tartalmát törli fájlokkal és gyerek mappákkal. Megjegyzés: Ez a metódus TÉNYLEGES törlést hajt végre, vagyis a fájlok, mappák nem kerülnek be a lomtárba.
static bool Exists(string path)
Ellenőrzi, hogy a paraméter által megadott útvonalon található könyvtár létezik-e. Ha igen, akkor igaz értéket fog visszaadni.
static DateTime GetCreationTime(string path)
Lekérdezi a paraméter által megadott útvonalon található könyvtár létrehozási idejét.
static DateTime GetLastAccessTime(string path)
Lekérdezi a paraméter által megadott útvonalon található könyvtár utolsó hozzáférési idejét.
static DateTime GetLastWriteTime(string path)
Lekérdezi a paraméter által megadott útvonalon található könyvtár utolsó írásának idejét.
static string[] GetDirectories(string path)
A paraméter által megadott útvonalon található könyvtár alkönyvtárait adja vissza egy tömbben.
static string[] GetDirectories(string path, string searchPattern)
A paraméter által megadott útvonalon található könyvtár azon alkönyvtárait adja vissza egy tömbben, amelyekre igaz a második paraméterben meghatározott szűrőfeltétel. A szűrőfeltételnél univerzális karakter a *, ami bármely karaktert jelölheti bármennyi előfordulásban. A másik szűrő karakter, ami használható, az a ?, ami bármely karaktert jelölheti, de csak 0 vagy 1 előfordulásban.
static string[] GetDirectories(string path, string searchPattern, SearchOption searchOption)
Mint a kétparaméteres változat, azonban a harmadik paraméter lehetőséget biztosít arra, hogy rekurzívan adja vissza a mappákat, vagyis minden almappa almappáját visszaadja. Ezt a működést a SearchOption felsorolás szabályozza. Ennek két lehetséges értéke lehet:
SearchOption.AllDirectories – rekurzív működés
vagy
SearchOption.TopDirectoryOnly – nem rekurzív működés
static string[] GetFiles(string path, string searchPattern)
A paraméter által megadott útvonalon található könyvtár azon fájljait adja vissza egy tömbben, amelyekre igaz a második paraméterben meghatározott szűrőfeltétel.
static string[] GetFiles(string path, string searchPattern, SearchOption searchOption)
Mint a kétparaméteres változat, azonban a harmadik paraméter lehetőséget biztosít arra, hogy rekurzívan adja vissza a fájlokat, vagyis minden almappa fájlját visszaadja.
static string[] GetFileSystemEntries(string path)
A paraméter által megadott útvonalon található könyvtár összes fájlját és alkönyvtárát egy tömbben adja vissza.
static string[] GetFileSystemEntries(string path, string searchPattern, SearchOption searchOption)
A paraméter által megadott útvonalon található könyvtár összes fájlját és alkönyvtárát egy tömbben adja vissza. A második paraméter a keresési szűrést határozza meg, a harmadik paraméter pedig a rekurzív működést befolyásolja.
static string[] GetLogicalDrives()
Visszaadja egy tömbben a logikai meghajtók elérési útvonalait.
static void SetCreationTime(string path, DateTime creationTime)
Beállítja az első paraméter által meghatározott könyvtár létrehozásának idejét. Az időt a második paraméter határozza meg.
static void SetLastAccessTime(string path, DateTime lastAccessTime)
Beállítja az első paraméter által meghatározott könyvtár utolsó hozzáférésének idejét. Az időt a második paraméter határozza meg.
static void SetLastWriteTime(string path, DateTime lastWriteTime)
Beállítja az első paraméter által meghatározott könyvtár utolsó írásának idejét. Az időt a második paraméter határozza meg.
A DirectoryInfo osztály felépítése:
FileAttributes Attributes { get; set; }
Lekérdezi, vagy beállítja a mappa attribútumait.
DateTime CreationTime { get; set; }
Lekérdezi, vagy beállítja a létrehozás idejét.
bool Exists { get; }
Igaz értéket ad vissza, ha a könyvtár létezik.
string Name { get; }
Lekérdezi a könyvtár nevét.
string FullName { get; }
Lekérdezi a könyvtár teljes elérési útvonalát.
DateTime LastAccessTime { get; set; }
Lekérdezi, vagy beállítja az utolsó hozzáférés idejét.
DateTime LastWriteTime { get; set; }
Lekérdezi, vagy beállítja az utolsó írás idejét.
DirectoryInfo Parent { get; }
Egy DirectoryInfo osztályban visszaadja a szülő mappa tulajdonságait.
DirectoryInfo Root { get; }
Egy DirectoryInfo osztályban visszaadja a gyökér mappa tulajdonságait. A c:\valami\másik könyvtár esetén ez a c:\ mappa lesz.
FileAttributes enum lehetséges értékei:
| Tag neve | Leírás |
|---|---|
| Archive | A fájl archív állapotú, törölhető vagy biztonsági menthető. |
| Compressed | A fájl tömörített 1 |
| Device | Eszköz leíró fájl, későbbi használatra fenntartott érték. |
| Directory | A fájl valójában egy könyvtár |
| Encrypted | Titkosított. |
| Hidden | Rejtett, normál mappa listázáskor nem látszik. |
| IntegrityStream | Extra helyreállító adatokkal ellátott fájl. |
| Normal | Normál fájl, semmi különleges. Ez az attribútum csak akkor helytálló, ha egyedül használt. |
| NoScrubData | Integritás ellenőrzéskor a fájl kihagyott. |
| NotContentIndexed | Indexelő szolgáltatás ne vegye figyelembe a tartalmát. |
| Offline | A fájl offline állapotú, azonnali hozzáférés nem lehetséges. |
| ReadOnly | Csak olvasható fájl. |
| System | Rendszerfájl |
| Temporary | Ideiglenes fájl |
| SparseFile | A fájl egy "ritka" fájl. A "ritka" fájlok általában nagy fájlok, amelyek adatai többnyire nullákból állnak. |
| ReparsePoint | A fájl/könyvtár rendelkezik a fájlrendszer/shell számára értelmezhető kiegészítő adatokkal. |
A titkosított fájlok esetén ez azt jelenti, hogy a fájl tartalma titkos. Könyvtárak esetén pedig azt, hogy az újonnan létrehozásra kerülő fájlok és mappák titkosítva lesznek.
Egy fájl több attribútummal is rendelkezhet, vagyis a FileAttributes egy Flags módsosítóval elátott felsorolás.
-
Ez nem azt jelenti, hogy egy tömörített fájlformátumról van szó (pl.: zip vagy rar), hanem arról, hogy a fájlrendszer a ráérő idejében tömöríti a Compressed attribútummal ellátott fájlokat, de ez a fájlrendszer belügye és az ilyen fájlokat nem kell kicsomagolni. Ez specifikiusan NTFS jellemző.↩