Jason. Cała informatyka w jednym miejscu!

Wspomniałem w poprzednim artykule o trybach dostępu do pliku. No to mam dla Was informację. Teraz sobie poszerzymy ten temat o daleko idące szczegóły. Notatka pierwsza: w kodzie w języku C#, to się nazywa "FileMode".

"FILEMODE" W JĘZYKU C# DECYDUJE W JAKI SPOSÓB OBSŁUŻYĆ PLIK

Notatka druga: "FileMode" to nie jest żadna klasa ani struktura, tylko tym razem typ wyliczeniowy "enum" (więcej o tym w dołączonym artykule). Oznacza to, że do dyspozycji mamy kilka sposobów (trybów) obsługi pliku i możemy wybrać tylko jeden z nich na każdą nową instancję. Jeżeli będziemy chcieli obsłużyć plik w inny sposób, trzeba rozpocząć procedurę od nowa.

"FILEMODE" NIE WYSTĘPUJE SAMODZIELNIE

Notatka trzecia: "FileMode" nie podajemy sobie tak po prostu. Nie tworzymy też żadnego obiektu. Jego występowanie znajdziecie raczej jako dodatek do metod otwierających strumienie dla plików. Na przykład tworzenie instancji poznanej wcześniej klasy "FileStream" posiada jeden z konstruktorów, w którym wymaga podania jednej z wartości typu wyliczeniowego "FileMode":

FileStream fs = new FileStream("data.txt", FileMode.Open);

TRYBY KLASY "FILEMODE"

Notatka czwarta: "FileMode" to jest "enum", a zatem nie wprowadzamy byle jakiej wartości. Możemy odnieść się wyłącznie do jednego z zaprogramowanych wariantów. A teraz przyjrzyjmy się wszystkim dostępnym opcjom. Występuje sześć pozycji (numeracja jest zgodna z kolejnością jaka obowiązuje w typie wyliczeniowym "FileMode" w języku C#). Zwróćcie uwagę, że pewne opcje mogą zgłosić wyjątek:

LP NAZWA ZNACZENIE
1 CreateNew Utworzenie nowego pliku. Może zgłosić wyjątek "IOException", jeśli plik o podanej nazwie już istnieje. Wymaga uprawnień do zapisu. 
2 Create Utworzenie nowego pliku lub nadpisanie go, jeśli już istnieje. Kiedy plik jest plikiem ukrytym, zgłaszany jest wyjątek "UnauthorizedAccessException".
3 Open Otwarcie pliku. Zgłasza wyjątek "FileNotFoundException" w przypadku nieznalezienia pliku.
4 OpenOrCreate Otwarcie pliku lub utworzenie nowego, jeśli nie istnieje. Wymaga uprawnień do odczytu (jeśli otwarto) lub do zapisu (jeśli trzeba utworzyć).
5 Truncate Otwarcie pliku i wyzerowanie długości bajtów, co jest równoznaczne z opróżnieniem całej zawartości. Wymaga uprawnień do zapisu.
6 Append Otwarcie pliku z przesunięciem kursora na sam koniec pliku bądź utworzenie nowego pliku. Wymaga uprawnień do dopisywania.

Zaznaczam ponownie: przy każdym utworzeniu obiektu możemy pójść tylko JEDNĄ drogą. Ponieważ jest to typ wyliczeniowy, nie ma możliwości żeby wybrać przez przypadek kilka opcji pod rząd! Przypominam Wam także o możliwości "wysypania się" metody kiedy znajdzie się ona w sytuacji bez wyjścia (zgłosi wyjątek)!

Klasa "FileMode" w języku C#

"FileMode" to typ wyliczeniowy występujący w charakterze jednego z parametrów formalnych niektórych metod. Określa on w jaki sposób ma być obsługiwany wskazany plik.


Obejdzie się bez przykładu, gdyż w tym przypadku jest to bezcelowe. Jak wspomniałem, z "FileMode" w języku C# nie korzysta się zwykle na zewnątrz w sposób tradycyjny. Występuje on jako suplement dla metod mających na celu utworzenie komunikacji z plikiem o podanej ścieżce.

PODOBNE ARTYKUŁY