Archív Inet.sk Pôvodný autor: Michal Čižmár
13. 04. 2005 o 00:00 12295x

Programujeme v jazyku C# - Diel 21. - Súbory I .

Pre mňa je vždy dôležité akú veľkú podporu má daný prog. jazyk pre prácu so súbormi. Keď si prečítate tento článok zistíte, že C# má veľa funkcií nielen na vytváranie, zapisovanie a čítanie súborov, ale aj veľa podporných príkazov pre prácu so súborovým systémom, práve ktorým sa venujem v tomto článku.
Programujeme v jazyku C# - Diel 21.  -  Súbory I .

Pod podpornými príkazmi pre prácu so súborovým systémom si môžete predstaviť také veci, ako prezeranie obsahu adresárov, kopírovanie súborov, vymazávanie a podobne, preto odporúčam čítať článok do konca + aj ďalší diel..

POZOR !
Všetky príkazy, ktoré pracujú s adresármi a súbormi využívajú minimálne triedy z knižnice System.IO. Takže ju nezabudnite pridať na začiatok zdrojákov pomocou
using System.IO;

>>Informácie o adresároch
Malú ukážku, čo sa dá pozisťovať o adresároch môžete vidieť v príklade :

Príklad 21.1
//----------------------------------------------------------
using
System;
using
System.IO;
class
MainClass
{
      public static void Main(string[] args)
     {
            string dirName = Directory.GetCurrentDirectory();
            DateTime dt = Directory.GetCreationTime(dirName);
           string []files = Directory.GetFiles(dirName);
           string []dirs = Directory.GetDirectories(dirName);
           string []mixs = Directory.GetFileSystemEntries(dirName);

           Console.WriteLine(" Sucasny adresar tohto programu je:{0}", dirName);
           Console.WriteLine(" Bol vytvoreny {0}.{1} {2}",
                                            dt.Day,dt.Month,dt.Year);
           bool exists = Directory.Exists("c:\windows");
           Console.WriteLine(" Existuje adresar c:\windows? {0}",exists);

           Console.WriteLine(" Vypis suborov");
           foreach(string file in files)
                Console.WriteLine(" {0}",file);

           Console.WriteLine(" Vypis podadresarov");
           foreach(string dir in dirs)
                Console.WriteLine(" {0}",dir);

           Console.WriteLine(" Vypis suborov + podadresarov");
           foreach(string mix in mixs)
               Console.WriteLine(" {0}",mix);
     }
}

//---------------------------------------------------------
Priklad na stiahnutie: www.inet.sk/download/user/Priklad21.1_Directory.zip

Ako vidíte v príklade, všetky potrebné príkazy nájdeme v triede Directory. Môžeme zistiť jednoducho aký je aktuálny adresár programu (hneď na začiatku je to aj adresár, v ktorom bol program spustený). Výstupom je textový reťazec, ktorý môže vyzerať napr. takto :

F:\SharpDevelop Projects\Priklad21.1_Directory\bin\Debug

Potom môžeme zistiť, kedy bol daný adresár vytvorený. Pozor, tu už potrebujete vstupný parameter pre funkciu (meno skúmaného adresára), ktorý sme v našom prípade získali v predchádzajúcom kroku.

Ďalej vidíte ako jednoducho môžeme získať úplné mená (aj s úplnou cestou k nim) všetkých súborov vo vybranom adresári. Ako získať len samotné mená súborov je v stati: informácie o súboroch v ďalšom dieli. Podobne zistíme všetky podadresáre, prípadne funkcia
GetFileSystemEntries() nám vráti aj podadresáre, aj súbory.

>>Manipulácia s adresármi
Takže dám hneď príklad, nie? :-)

Príklad 21.1

//----------------------------------------------------------
using System;
using
System.IO;
class
MainClass
{
     public static void Main(string[] args)
     {
            string dirName;

           Console.Write(" Zadajte meno adresara pre vytvorenie:");
           dirName = Console.ReadLine();

           Directory.CreateDirectory(dirName);
           Directory.SetCreationTime(dirName,new DateTime(2222,2,22));

          Console.WriteLine(" Nadradeny adresar sa vola {0}",
                                           Directory.GetParent(dirName));

          Directory.SetCurrentDirectory(dirName);
          Directory.CreateDirectory("Vnutorny");

          Console.WriteLine("Teraz je vytvoreny adresar : vnutorny");
          Console.WriteLine(" Stlacte enter");
          Console.Read();
          Directory.Delete("vnutorny");
          Console.WriteLine(" a teraz je uz vymazany");

          Console.WriteLine(" Mate disky s tymito pismenami");
          string [] drives = Directory.GetLogicalDrives();
         foreach(string drive in drives)
             Console.WriteLine(drive);
    }
}
//----------------------------------------------------------
Priklad na stiahnutie: www.inet.sk/download/user/Priklad21.2_DirectoryManip.zip

V  príklade najprv vytvoríme adresár podľa želania užívateľa. Funkcia CreateDirectory() môže vyvolať veľa typov výnimiek (chýb), takže by bolo dobré, keby ste si ich pozreli v dokumentácii, keď s tým budete robiť. Jednoducho sa dá zmeniť dátum vytvorenia adresára a veľa iných parametrov.

Je zaujímavé, že keď sa pokúsite vytvoriť adresár, ktorý už existuje, ale je prázdny, tak sa chyba nevyvolá. Samozrejme, že C# dodržiava aj oprávnenia užívateľov, takže nemôžete napr. vytvárať adresáre na tej partícii disku, pre ktorú nemáte potrebné oprávnenie.

Pohybovať sa po adresároch
môže pomocou funkcie
SetCurrentDirectory(). Pre nadradený adresár stačí zadať ako ciel len klasické dve bodky .. . Ak chcete len zistiť meno nadradeného adresára, použite funkciu GetParent().

>>Čo bude nabudúce?

Práca so súbormi je veľmi rozsiahla téma, takže nabudúce s ňou pokračujeme. Budeme sa zaoberať tým, ako zistiť informácie o súboroch a s nimi manipulovať.

>>Predchádzajúce diely

Programujeme v jazyku C# - Diel 20. – Console
Programujeme v jazyku C# - Diel 19. - Strings IV.
Programujeme v jazyku C# - Diel 18. - Strings III.
Programujeme v jazyku C# - Diel 17. - Strings II.

Viac na : www.inet.sk/csharp

Otázky a konštruktívnu kritiku píšte do diskusie alebo na môj e-mail.

Michal Čižmár

micitn@orangemail.sk








Novinky a inšpirácie

Z nášho blogu

Prečítajte si novinky, inšpirácie a dôležité informácie zo sveta webhostingu a technológií.

Bezpečnostné aktualizácie PHP: Chráňte svoj web pred hrozbami Oznamy
21. 10. 2026

Bezpečnostné aktualizácie PHP: Chráňte svoj web pred hrozbami

Vývojársky tím PHP vydal dôležité bezpečnostné záplaty pre všetky oficiálne podporované verzie PHP 8. Na našich serveroch sme nezaváhali ...

Čítať viac
Gmail končí s funkciou „Odoslať ako“ pre cudzie e-mailové adresy. Čo to znamená pre vás? Oznamy
01. 10. 2026

Gmail končí s funkciou „Odoslať ako“ pre cudzie e-mailové adresy. Čo to znamená pre vás?

Google oznámil, že v januári 2027 zruší v Gmaile funkciu „Odoslať ako“ (Send as) pre e-mailové adresy od iných poskytovateľov. Ak ste si ...

Čítať viac
Večerná „prestávka“ pre server VIP033 Oznamy
25. 09. 2026

Večerná „prestávka“ pre server VIP033

Neustále pracujeme na tom, aby vaše weby bežali hladko, rýchlo a bezpečne. Technológie idú míľovými krokmi vpred a my v Inet.sk s nimi dr...

Čítať viac
Novinky na Inet.sk (09 / 2026) Novinky
09. 09. 2026

Novinky na Inet.sk (09 / 2026)

Posledné mesiace sme v Inet.sk nevenovali len stabilite serverov, ale najmä počúvaniu vašich reálnych skúseností z každodennej praxe. Výs...

Čítať viac

Podpora klientom

Máte ďalšie otázky?

Nezúfajte, pripravili sme pre Vás jednoduché odpovede na najdôležitejšie otázky, ktoré od našich klientov dostávame.

Zistiť viac

Naše výhody

Prečo si nás vybrať?

Našim klientom ponúkame až 30-dňovú záruku vrátenia peňazí.

Sme skutočný slovenský webhosting

Slovenská
firma

Nepatríme pod žiadnu nadnárodnú spoločnosť, sme malá rodinná firma.

Na nás sa môžete kedykoľvek spoľahnúť

Dlhoročné
skúsenosti

Na slovenskom trhu pôsobíme už viac ako 20 rokov, sme overená značka.

Naši prví zákazníci sú stále s nami

Spokojní
zákazníci

Naši zákazníci sú ako naša rodina, preto nám verí už viac ako 1250 klientov.

Maximálna bezpečnosť

Maximálna
bezpečnosť

Chránime Vás pred útokmi i SPAMom. U nás sú Vaše dáta v bezpečí.

Prozákaznícka podpora

Ochotná
podpora

Zakladáme si na individuálnom prístupe, preto Vám vždy radi pomôžeme.

Kvalita a dobrá cena

Férová
cena

Cena pri obnove je rovnaká ako pri objednávke. Nezdražujeme po prvom roku a bez skrytých poplatkov.

U nás sa Vám nič nestratí

Pravidelné
zálohovanie

Vaše dáta zálohujeme každý deň, dostupné sú aj zálohy z pred niekoľkých mesiacov.

Svižný Admin Panel nájdete len u nás

Prehľadný
Admin Panel

Máme rýchly a prehľadný Admin Panel, ktorý zvládne používať naozaj každý.

Správa používateľov

Správa
používateľov

Spravujte svoje projekty bez akýchkoľvek obáv s kolegami alebo externými partnermi.

Máme zľavy pre verných klientov

Vernostné
zľavy

Verní klienti u nás automaticky získavajú 15 % zľavu na každú ďalšiu objednávku.

My Vás nebudeme obmedzovať

Bez
obmedzení

Neobmedzujeme počet databáz, e-mailov, ftp a ani prenos dát.

Hosting pre WordPress

WordPress
na 1 klik

Nainštalujte si obľúbené redakčné systémy rýchlo a jednoducho.

Referencie

Spokojní zákazníci

Pozrite sa, čo o nás povedali naši klienti. Neváhajte a pridajte sa k nám ešte dnes.

Auto 100
Bystricoviny
eCall Slovakia
Filip Jančík
Frost
Merkury Broker
Mi:Su Design
Mesto Nitra
Pro Clienta
Schneider Lekáreň
Vego Marketing
Mesto Zlaté Moravce

Všetky ceny sú uvádzané bez DPH
© 2006 - 2026, Inet.sk, s. r. o., Všetky práva vyhradené

Na našej stránke používame "cookies". Vďaka nim sledujeme návštevnosť, prispôsobujeme reklamu a používateľské nastavenia, čo zlepšuje Váš zážitok z našej stránky. Súhlasíte s ich spracovaním?
Vlastné nastavenia cookies