Następny rozdział z obsługi plików to jest ta druga klasa potomna klasy "FileSystemInfo". Teraz weźmiemy pod lupę "DirectoryInfo" w języku C#, czyli klasę stworzoną z myślą o łatwiejszej obsłudze katalogów :D! Serdecznie zapraszam.
Tweet |
KATALOGI KIERUJ DO "DIRECTORYINFO" W JĘZYKU C#!
Drugą klasą pochodzącą "z żebra" klasy "FileSystemInfo" jest "DirectoryInfo" i jak już zdążyłem napisać u samej góry, pozwala w sposób łatwiejszy obsługiwać katalogi (poprzednio omawiana klasa "FileInfo" dotyczyła plików). Łatwiejszy, czyli dysponuje własną serią właściwości i metod przeznaczonych do manipulacji katalogami. Od strony konstruktora działa identycznie. Po prostu podajemy za parametr formalny ścieżkę dostępu, ale tym razem do katalogu, folderu.
Ponieważ klasa "DirectoryInfo" w języku C# dziedziczy po "FileSystemInfo", wszystkie właściwości i metody są przekazywane klasie omawianej teraz :). A czym dysponuje sama z siebie?
WŁAŚCIWOŚCI KLASY "DIRECTORYINFO"
Z właściwości można wyciągnąć tylko cztery sztuki. Wszystkie są niemodyfikowalne (dysponują wyłącznie "getterem"). Oto one:
NAZWA | ZNACZENIE |
Exists | Ustalenie czy dany katalog istnieje |
Name | Pobranie nazwy instancji klasy "DirectoryInfo" |
Parent | Pobranie katalogu nadrzędnego poprzez zwrócenie instancji "DirectoryInfo" |
Root | Pobranie fragmentu katalogu głównego ("korzenia") poprzez zwrócenie instancji "DirectoryInfo" |
METODY KLASY "DIRECTORYINFO"
Metod w "DirectoryInfo" w języku C# znajdziecie już trochę więcej:
NAZWA | ZNACZENIE |
Create | Tworzenie katalogu. |
CreateSubdirectory | Tworzenie podkatalogu we wskazanym katalogu. |
Delete | Usuwanie katalogu. |
GetDirectories | Zwrócenie katalogów w postaci tablicy obiektów "DirectoryInfo" w języku C# jakie znajdują się we wskazanym katalogu. |
GetFiles | Zwrócenie plików w postaci tablicy obiektów "FileInfo" jakie znajdują się we wskazanym katalogu. |
GetFileSystemInfos | Zwrócenie tablicy obiektów "FileSystemInfo" reprezentujących wszystkie pliki i podkatalogi. |
MoveTo | Przeniesienie katalogu w inne miejsce podane jako parametr formalny. |
TO TAKŻE JEST SKŁONNE ZGŁOSIĆ WYJĄTEK!
Ostatnia wiadomość przed ukazaniem przykładu. "DirectoryInfo" w języku C# także może zgłosić niejeden rodzaj wyjątku i zdecydowanie lepiej będzie już Was skierować do artykułu poprzedniego, bo tam umieściłem wszystkie informacje :).
PRZYKŁAD KODU ŹRÓDŁOWEGO
I jeszcze jeden raz podkreślimy sobie artykuł prostym przykładem. Wypisanie kilku właściwości plus wywołanie jednej z metod, która zwróci tablicę znalezionych plików (od siebie dodałem jeszcze filtr, który sprawi że uwzględni tylko pliki rozpoczynające się na literę 'L'):
string filename = "bin";
DirectoryInfo di = new DirectoryInfo(filename);
FileInfo[] foundFiles = di.GetFiles("L*");
Console.WriteLine("Katalog nadrzędny katalogu {0}: {1}", filename, di.Parent);
Console.WriteLine("Katalog główny katalogu {0}: {1}", filename, di.Root);
Console.WriteLine("Atrybuty pliku {0}: {1}", filename, di.Attributes);
Console.Write("Znalezione pliki: ");
foreach (FileInfo file in foundFiles)
{
Console.Write(file.Name);
}
"DirectoryInfo" w języku C# także dziedziczy od "FileSystemInfo". Jest to klasa bardziej zorientowana na obsługę katalogową.
Jeśli myślicie, że to koniec artykułów w takiej formie, to muszę Was zmartwić. Czeka nas do opisania jeszcze kilka konstrukcji (nie tylko klas, ale także struktur), więc mogę tylko poprosić o cierpliwość, jeśli nie przepadacie za taką prezentacją :P.