Path Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Provádí operace s String instancemi, které obsahují informace o cestě k souboru nebo adresáři. Tyto operace se provádějí multiplatformně.
public ref class Path abstract sealed
public ref class Path sealed
public static class Path
public sealed class Path
[System.Runtime.InteropServices.ComVisible(true)]
public static class Path
type Path = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type Path = class
Public Class Path
Public NotInheritable Class Path
- Dědičnost
-
Path
- Atributy
Příklady
Následující příklad ukazuje některé hlavní členy Path třídy.
using System;
using System.IO;
class Test
{
public static void Main()
{
string path1 = @"c:\temp\MyTest.txt";
string path2 = @"c:\temp\MyTest";
string path3 = @"temp";
if (Path.HasExtension(path1))
{
Console.WriteLine("{0} has an extension.", path1);
}
if (!Path.HasExtension(path2))
{
Console.WriteLine("{0} has no extension.", path2);
}
if (!Path.IsPathRooted(path3))
{
Console.WriteLine("The string {0} contains no root information.", path3);
}
Console.WriteLine("The full path of {0} is {1}.", path3, Path.GetFullPath(path3));
Console.WriteLine("{0} is the location for temporary files.", Path.GetTempPath());
Console.WriteLine("{0} is a file available for use.", Path.GetTempFileName());
/* This code produces output similar to the following:
* c:\temp\MyTest.txt has an extension.
* c:\temp\MyTest has no extension.
* The string temp contains no root information.
* The full path of temp is D:\Documents and Settings\cliffc\My Documents\Visual Studio 2005\Projects\ConsoleApplication2\ConsoleApplication2\bin\Debug\temp.
* D:\Documents and Settings\cliffc\Local Settings\Temp\8\ is the location for temporary files.
* D:\Documents and Settings\cliffc\Local Settings\Temp\8\tmp3D.tmp is a file available for use.
*/
}
}
Imports System.IO
Public Class Test
Public Shared Sub Main()
Dim path1 As String = "c:\temp\MyTest.txt"
Dim path2 As String = "c:\temp\MyTest"
Dim path3 As String = "temp"
If Path.HasExtension(path1) Then
Console.WriteLine("{0} has an extension.", path1)
End If
If Path.HasExtension(path2) = False Then
Console.WriteLine("{0} has no extension.", path2)
End If
If Path.IsPathRooted(path3) = False Then
Console.WriteLine("The string {0} contains no root information.", path3)
End If
Console.WriteLine("The full path of {0} is {1}.", path3, Path.GetFullPath(path3))
Console.WriteLine("{0} is the location for temporary files.", Path.GetTempPath())
Console.WriteLine("{0} is a file available for use.", Path.GetTempFileName())
' This code produces output similar to the following:
' c:\temp\MyTest.txt has an extension.
' c:\temp\MyTest has no extension.
' The string temp contains no root information.
' The full path of temp is D:\Documents and Settings\cliffc\My Documents\Visual Studio 2005\Projects\ConsoleApplication2\ConsoleApplication2\bin\Debug\temp.
' D:\Documents and Settings\cliffc\Local Settings\Temp\8\ is the location for temporary files.
' D:\Documents and Settings\cliffc\Local Settings\Temp\8\tmp3D.tmp is a file available for use.
End Sub
End Class
Poznámky
Cesta je řetězec, který poskytuje umístění souboru nebo adresáře. Cesta nemusí nutně odkazovat na umístění na disku; Například cesta se může mapovat na umístění v paměti nebo na zařízení. Přesný formát cesty je určen aktuální platformou. Například v některých systémech může cesta začínat písmenem jednotky nebo svazku, zatímco tento prvek není v jiných systémech. V některých systémech můžou cesty k souborům obsahovat přípony, které označují typ informací uložených v souboru. Formát přípony názvu souboru je závislý na platformě; Některé systémy například omezují rozšíření na tři znaky (například FAT16 běžně používané v menších flash úložištích a starších verzích ISO 9660 používaných na optickém médiu) a jiné ne. Aktuální platforma také určuje sadu znaků použitých k oddělení prvků cesty a sadu znaků, které nelze použít při zadávání cest. Z těchto rozdílů jsou pole Path třídy a přesné chování některých členů Path třídy závislé na platformě.
Cesta může obsahovat absolutní nebo relativní informace o poloze. Absolutní cesty plně určují umístění: soubor nebo adresář lze jednoznačně identifikovat bez ohledu na aktuální umístění. Relativní cesty určují částečné umístění: aktuální umístění se použije jako výchozí bod při vyhledání souboru zadaného s relativní cestou. Chcete-li určit aktuální adresář, zavolejte Directory.GetCurrentDirectory.
Tento typ také podporuje přístup k objektům systému souborů, které jsou názvy zařízení, například \\?\C:\. Podpora názvu zařízení byla přidána v rozhraní .NET Framework 4.6.2.
Další informace o formátech cest k souborům ve Windows naleznete v tématu Formáty cest k souborům v systémech Windows.
Většina členů Path třídy nepracuje se systémem souborů a neověřuje existenci souboru určeného řetězcem cesty.
Path členy třídy, které upravují řetězec cesty, například ChangeExtension, nemají žádný vliv na názvy souborů v systému souborů.
Někteří Path členové ověřují obsah zadaného řetězce cesty a vyvolá ArgumentException , pokud řetězec obsahuje znaky, které nejsou platné v řetězcích cesty, jak je definováno v znacích vrácených z GetInvalidPathChars metody. Například na desktopových platformách s Windows můžou neplatné znaky cesty obsahovat uvozovky ("), menší než (<), větší než (>), svislé znaky (|), backspace (\b), null (\0) a znaky Unicode 16 až 18 až 20 až 25. Toto chování ověřování se liší mezi verzemi .NET:
V rozhraní .NET Framework: Všichni
Pathčlenové, kteří přebírají cestu jako argument, vyvolá ArgumentException , pokud zjistí neplatné znaky cesty.V .NET: GetFullPath je jediný člen, který vyvolá výjimku ArgumentException , pokud řetězec obsahuje neplatné znaky cesty.
Členové Path třídy umožňují rychle a snadno provádět běžné operace, jako je například určení, zda je přípona názvu souboru součástí cesty, a kombinování dvou řetězců do jednoho názvu cesty.
Všichni členové Path třídy jsou statické, a proto je možné volat bez výskytu cesty.
Poznámka
U členů, kteří přijímají cestu jako vstupní řetězec, musí být tato cesta správně vytvořená nebo je vyvolána výjimka. Pokud je například cesta plně kvalifikovaná, ale začíná mezerou, cesta není oříznuta metodami třídy. Proto je cesta poškozena a je vyvolána výjimka. Podobně cesta nebo kombinace cest nemůže být plně kvalifikovaná dvakrát. Například "c:\temp c:\windows" vyvolá ve většině případů výjimku. Při použití metod, které přijímají řetězec cesty, se ujistěte, že jsou cesty správně vytvořené.
Ve členech, kteří přijímají cestu, může cesta odkazovat na soubor nebo pouze adresář. Zadaná cesta může také odkazovat na relativní cestu nebo cestu UNC (Universal Naming Convention) pro název serveru a sdílené složky. Například všechny následující cesty jsou přijatelné:
"c:\\MyDir\\MyFile.txt" v jazyce C# nebo "c:\MyDir\MyFile.txt" v jazyce Visual Basic.
"c:\\MyDir" v jazyce C# nebo "c:\MyDir" v jazyce Visual Basic.
"MyDir\\MySubdir" v jazyce C# nebo "MyDir\MySubDir" v jazyce Visual Basic.
"\\\\MyServer\\MyShare" v jazyce C# nebo "\\MyServer\MyShare" v jazyce Visual Basic.
Protože všechny tyto operace se provádějí s řetězci, není možné ověřit, zda jsou výsledky platné ve všech scénářích. GetExtension Například metoda parsuje řetězec, který mu předáte, a vrátí rozšíření z daného řetězce. To ale neznamená, že na disku existuje soubor s příponou.
Seznam běžných vstupně-výstupních úloh najdete v tématu Běžné vstupně-výstupní úlohy.
Pole
| Name | Description |
|---|---|
| AltDirectorySeparatorChar |
Poskytuje alternativní znak specifický pro platformu sloužící k oddělení úrovní adresáře v řetězci cesty, který odráží hierarchickou organizaci systému souborů. |
| DirectorySeparatorChar |
Poskytuje znak specifický pro platformu sloužící k oddělení úrovní adresáře v řetězci cesty, který odráží hierarchickou organizaci systému souborů. |
| InvalidPathChars |
Zastaralé.
Zastaralé.
Poskytuje pole znaků specifické pro platformu, které nelze zadat v argumentech řetězce cesty předané členům Path třídy. |
| PathSeparator |
Znak oddělovače specifické pro platformu, který se používá k oddělení řetězců cesty v proměnných prostředí. |
| VolumeSeparatorChar |
Poskytuje znak oddělovače svazků specifický pro platformu. |
Metody
| Name | Description |
|---|---|
| ChangeExtension(String, String) |
Změní rozšíření řetězce cesty. |
| Combine(ReadOnlySpan<String>) |
Kombinuje rozsah řetězců do cesty. |
| Combine(String, String, String, String) |
Kombinuje čtyři řetězce do cesty. |
| Combine(String, String, String) |
Kombinuje tři řetězce do cesty. |
| Combine(String, String) |
Kombinuje dva řetězce do cesty. |
| Combine(String[]) |
Kombinuje pole řetězců do cesty. |
| EndsInDirectorySeparator(ReadOnlySpan<Char>) |
Vrátí hodnotu, která určuje, jestli cesta zadaná jako rozsah jen pro čtení končí oddělovačem adresáře. |
| EndsInDirectorySeparator(String) |
Vrátí hodnotu, která určuje, zda zadaná cesta končí v oddělovači adresářů. |
| Exists(String) |
Určuje, zda zadaný soubor nebo adresář existuje. |
| GetDirectoryName(ReadOnlySpan<Char>) |
Vrátí informace o adresáři pro zadanou cestu reprezentovanou znakovým rozsahem. |
| GetDirectoryName(String) |
Vrátí informace o adresáři pro zadanou cestu. |
| GetExtension(ReadOnlySpan<Char>) |
Vrátí příponu cesty k souboru, která je reprezentována rozsahem znaků jen pro čtení. |
| GetExtension(String) |
Vrátí příponu (včetně tečky ".") zadaného řetězce cesty. |
| GetFileName(ReadOnlySpan<Char>) |
Vrátí název souboru a příponu cesty k souboru, která je reprezentována rozsahem znaků jen pro čtení. |
| GetFileName(String) |
Vrátí název souboru a příponu zadaného řetězce cesty. |
| GetFileNameWithoutExtension(ReadOnlySpan<Char>) |
Vrátí název souboru bez přípony cesty k souboru, která je reprezentována rozsahem znaků jen pro čtení. |
| GetFileNameWithoutExtension(String) |
Vrátí název souboru zadaného řetězce cesty bez přípony. |
| GetFullPath(String, String) |
Vrátí absolutní cestu z relativní cesty a plně kvalifikovanou základní cestu. |
| GetFullPath(String) |
Vrátí absolutní cestu pro zadaný řetězec cesty. |
| GetInvalidFileNameChars() |
Získá pole obsahující znaky, které nejsou povoleny v názvech souborů. |
| GetInvalidPathChars() |
Získá pole obsahující znaky, které nejsou povoleny v názvech cest. |
| GetPathRoot(ReadOnlySpan<Char>) |
Získá informace o kořenovém adresáři z cesty obsažené v zadaném rozsahu znaků. |
| GetPathRoot(String) |
Získá informace o kořenovém adresáři z cesty obsažené v zadaném řetězci. |
| GetRandomFileName() |
Vrátí náhodný název složky nebo název souboru. |
| GetRelativePath(String, String) |
Vrátí relativní cestu z jedné cesty do druhé. |
| GetTempFileName() |
Vytvoří jedinečný pojmenovaný dočasný soubor s nulovým bajtem na disku a vrátí úplnou cestu k danému souboru. |
| GetTempPath() |
Vrátí cestu k dočasné složce aktuálního uživatele. |
| HasExtension(ReadOnlySpan<Char>) |
Určuje, zda cesta reprezentovaná zadaným rozsahem znaků obsahuje příponu názvu souboru. |
| HasExtension(String) |
Určuje, zda cesta obsahuje příponu názvu souboru. |
| IsPathFullyQualified(ReadOnlySpan<Char>) |
Vrátí hodnotu, která určuje, zda je cesta k souboru reprezentovaná zadaným rozsahem znaků pevná na konkrétní jednotku nebo cestu UNC. |
| IsPathFullyQualified(String) |
Vrátí hodnotu, která určuje, zda je zadaná cesta k souboru pevná na konkrétní jednotku nebo cestu UNC. |
| IsPathRooted(ReadOnlySpan<Char>) |
Vrátí hodnotu, která určuje, zda zadané rozsahy znaků představující cestu k souboru obsahuje kořen. |
| IsPathRooted(String) |
Vrátí hodnotu určující, zda zadaný řetězec cesty obsahuje kořen. |
| Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Zřetězí čtyři komponenty cesty do jedné cesty. |
| Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Zřetězí tři komponenty cesty do jedné cesty. |
| Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Zřetězí dvě komponenty cesty do jedné cesty. |
| Join(ReadOnlySpan<String>) |
Zřetězí rozsah cest do jedné cesty. |
| Join(String, String, String, String) |
Zřetězí čtyři cesty do jedné cesty. |
| Join(String, String, String) |
Zřetězí tři cesty do jedné cesty. |
| Join(String, String) |
Zřetězí dvě cesty do jedné cesty. |
| Join(String[]) |
Zřetězí pole cest do jedné cesty. |
| TrimEndingDirectorySeparator(ReadOnlySpan<Char>) |
Oříznou jeden koncový oddělovač adresáře za kořenem zadané cesty. |
| TrimEndingDirectorySeparator(String) |
Oříznou jeden koncový oddělovač adresáře za kořenem zadané cesty. |
| TryJoin(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>, Span<Char>, Int32) |
Pokusí se zřetězení tří komponent cesty do jednoho předlokovaného rozsahu znaků a vrátí hodnotu, která označuje, zda operace proběhla úspěšně. |
| TryJoin(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Span<Char>, Int32) |
Pokusí se zřetězení dvou komponent cesty do jednoho předlokovaného rozsahu znaků a vrátí hodnotu, která označuje, jestli operace proběhla úspěšně. |