.NET Tip #4: Práce se jmény souborů, složek a cest (2/2)

Tomáš Jecha       2. 10. 2008       C#, VB.NET, .NET Tips       7468 zobrazení

První díl naleznete zde.

Seznam druhé poloviny statických funkcí třídy System.IO.Path:

9/15 - System.IO.Path.GetPathRoot(cesta as String) as String - Zjištění kořenového adresáře

Funkce pro zjištění kořenového adresáře z plné cesty. Kořenovým adresářem rozumíme pevný disk, síťový adresář atp. Příklad:

' Výsledek: c:\
System.IO.Path.GetPathRoot("c:\adresar\soubor.txt")

' Výsledek: \\server\adresar\
System.IO.Path.GetPathRoot("\\server\adresar\soubor.txt")
            

10/15 - System.IO.Path.GetRandomFileName() as String - Generování náhodného jména souboru

Vrací náhodné jméno souboru ve formátu 8-3 (8 písmen jméno, 3 písmena přípona). Vhodné například pro generování dočasných souborů. Dočkáme se krásných jmen jako například: xgjl2i31.d4m, či umooe15l.cae

11/15 - System.IO.Path.GetTempFileName() as String - Unikátní dočasný soubor

Tato funkce nám zajistí soubor s unikátním jménem v adresáři pro dočasné soubory systému Windows. Každým jejím zavoláním se vytvoří nový soubor (s nulovou délkou) a my ho máme k dispozici pro libovolné úpravy. Musíme počítat s tím, že se může v rámci čistění počítače smazat, proto do něj neukládejme nic, co se má zachovat. Ideální funkce pro dočasné ukládání dat aplikace, která se může spouštět z lokace, která je jen pro čtení. Vrácený řetězec může být například:

C:\Users\Tomáš Jecha\AppData\Local\Temp\tmp3CDC.tmp

12/15 - System.IO.Path.GetTempPath() as String - Zjištění složky pro dočasné soubory

Příkaz vrací složku pro dočasné soubory aktuálně přihlášeného uživatele. Například:

C:\Users\Tomáš Jecha\AppData\Local\Temp\

13/15 - System.IO.Path.HasExtension(cesta as String) as Boolean - Zjištění, zda má soubor příponu

Příkazu předáme jméno souboru, případně i cestu. Logickou návratovou hodnotu zjistíme, zda má příponu. Příklad:

' Vrací: True
System.IO.Path.HasExtension("c:\soubor.txt")

' Vrací: False
System.IO.Path.HasExtension("c:\souborBezPripony")

14/15 - System.IO.Path.ChangeExtension(cesta as String, novaPripona as String) as String - Změna přípony

Funkce pro zjištění jak by se soubor jmenoval při změně nebo přidání přípony. První parametr je jméno souboru a druhý nová přípona. Příklad:

' Vrací: soubor.png
System.IO.Path.ChangeExtension("soubor.jpg", "png")

' Vrací: c:\slozka\souborBezPripony.exe
System.IO.Path.ChangeExtension("c:\slozka\souborBezPripony", "exe")

15/15 - System.IO.Path.IsPathRooted(cesta as String) as Boolean - Zjištění absolutnosti cesty

IsPathRooted nám říká, zda je cesta absolutní v adresářové struktuře nebo ne.

' Vrací: True
System.IO.Path.IsPathRooted("\\server\adresar\soubor.txt")

' Vrací: True
System.IO.Path.IsPathRooted("c:\soubor.txt")

' Vrací: True (není uvedeno umístění, ale víme, že je soubor v kořenovém adresáři)
System.IO.Path.IsPathRooted("\soubor.txt")

' Vrací: False
System.IO.Path.IsPathRooted("..\soubor.txt")

' Vrací: False
System.IO.Path.IsPathRooted("slozka\soubor.txt")

 

První díl naleznete zde.

 

hodnocení článku

1 bodů / 1 hlasů       Hodnotit mohou jen registrované uživatelé.

 

Nový příspěvek

 

Diskuse: .NET Tip #4: Práce se jmény souborů, složek a cest (2/2)

Rád bych upozornil na chybu u 13. funkce HasExtension. Měla by zde být návratová hodnota typu Boolean. Jinak musím pochválit za velmi pěkný a užitečný článek.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Díky za upozornění.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.

Nyní zakládáte pod článkem nové diskusní vlákno.
Pokud chcete reagovat na jiný příspěvek, klikněte na tlačítko "Odpovědět" u některého diskusního příspěvku.

Nyní odpovídáte na příspěvek pod článkem. Nebo chcete raději založit nové vlákno?

 

  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback