Path.GetFullPath Metoda
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í.
Přetížení
| Name | Description |
|---|---|
| GetFullPath(String) |
Vrátí absolutní cestu pro zadaný řetězec cesty. |
| GetFullPath(String, String) |
Vrátí absolutní cestu z relativní cesty a plně kvalifikovanou základní cestu. |
GetFullPath(String)
- Zdroj:
- Path.Unix.cs
- Zdroj:
- Path.Unix.cs
- Zdroj:
- Path.Unix.cs
- Zdroj:
- Path.Unix.cs
- Zdroj:
- Path.Unix.cs
Vrátí absolutní cestu pro zadaný řetězec cesty.
public:
static System::String ^ GetFullPath(System::String ^ path);
public static string GetFullPath(string path);
static member GetFullPath : string -> string
Public Shared Function GetFullPath (path As String) As String
Parametry
- path
- String
Soubor nebo adresář, pro který chcete získat absolutní informace o cestě.
Návraty
Plně kvalifikované umístění path, například "C:\MyFile.txt".
Výjimky
path je řetězec nulové délky, obsahuje pouze prázdné znaky v systémech Windows nebo obsahuje jeden nebo více neplatných znaků definovaných v GetInvalidPathChars().
nebo
Systém nemohl načíst absolutní cestu.
Volající nemá požadovaná oprávnění.
path je null.
pouze .NET Framework: path obsahuje dvojtečku (":"), která není součástí identifikátoru svazku (například "c:\").
Zadaná cesta, název souboru nebo obojí překračují maximální délku definovanou systémem.
Příklady
Následující příklad ukazuje metodu GetFullPath na desktopové platformě založené na Windows.
string fileName = "myfile.ext";
string path1 = @"mydir";
string path2 = @"\mydir";
string fullPath;
fullPath = Path.GetFullPath(path1);
Console.WriteLine("GetFullPath('{0}') returns '{1}'",
path1, fullPath);
fullPath = Path.GetFullPath(fileName);
Console.WriteLine("GetFullPath('{0}') returns '{1}'",
fileName, fullPath);
fullPath = Path.GetFullPath(path2);
Console.WriteLine("GetFullPath('{0}') returns '{1}'",
path2, fullPath);
// Output is based on your current directory, except
// in the last case, where it is based on the root drive
// GetFullPath('mydir') returns 'C:\temp\Demo\mydir'
// GetFullPath('myfile.ext') returns 'C:\temp\Demo\myfile.ext'
// GetFullPath('\mydir') returns 'C:\mydir'
Dim fileName As string = "myfile.ext"
Dim path1 As string = "mydir"
Dim path2 As string = "\mydir"
Dim fullPath As string
fullPath = Path.GetFullPath(path1)
Console.WriteLine("GetFullPath('{0}') returns '{1}'", _
path1, fullPath)
fullPath = Path.GetFullPath(fileName)
Console.WriteLine("GetFullPath('{0}') returns '{1}'", _
fileName, fullPath)
fullPath = Path.GetFullPath(path2)
Console.WriteLine("GetFullPath('{0}') returns '{1}'", _
path2, fullPath)
' Output is based on your current directory, except
' in the last case, where it is based on the root drive
' GetFullPath('mydir') returns 'C:\temp\Demo\mydir'
' GetFullPath('myfile.ext') returns 'C:\temp\Demo\myfile.ext'
' GetFullPath('\mydir') returns 'C:\mydir'
Poznámky
Absolutní cesta obsahuje všechny informace potřebné k vyhledání souboru nebo adresáře v systému.
Soubor nebo adresář zadaný path pomocí není nutné existovat. Například pokud c:\temp\newdir je aktuální adresář, volání GetFullPath názvu souboru, například test.txt vrátí c:\temp\newdir\test.txt. Soubor nemusí existovat.
Important
Pokud path je relativní cesta, toto přetížení vrátí plně kvalifikovanou cestu, která může být založena na aktuální jednotce a aktuálním adresáři. Aktuální jednotka a aktuální adresář se můžou kdykoli změnit při provádění aplikace. V důsledku toho nelze předem určit cestu vrácenou tímto přetížením. Chcete-li vrátit deterministické cesty, zavolejte GetFullPath(String, String) přetížení. Můžete také volat metodu IsPathFullyQualified k určení, zda je cesta plně kvalifikovaná nebo relativní, a proto zda je nutné volání GetFullPath .
Pokud path však existuje, volající musí mít oprávnění získat informace o cestě pro path. Všimněte si, že na rozdíl od většiny členů Path třídy tato metoda přistupuje k systému souborů.
Tato metoda používá aktuální adresář a aktuální informace o svazku k plnému kvalifikace path. Pokud zadáte pouze pathnázev souboru, GetFullPath vrátí plně kvalifikovanou cestu k aktuálnímu adresáři.
Pokud předáte krátký název souboru, rozbalí se na dlouhý název souboru.
Pokud cesta neobsahuje žádné významné znaky, je neplatná, pokud neobsahuje jeden nebo více znaků" následovaných libovolným počtem mezer; pak se parsuje jako "." nebo ".".
.NET Core 1.1 a novějších verzích a .NET Framework 4.6.2 a novějších verzích podporují také cesty, které obsahují názvy zařízení, například \\?\C:\.
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. Seznam běžných vstupně-výstupních úloh najdete v tématu Běžné vstupně-výstupní úlohy.
Viz také
- formáty cest Soubory v systémech Windows
- Vstup/výstup souborů a streamů
- Postupy: Čtení textu ze souboru
- Postupy: Zápis textu do souboru
Platí pro
GetFullPath(String, String)
- Zdroj:
- Path.Unix.cs
- Zdroj:
- Path.Unix.cs
- Zdroj:
- Path.Unix.cs
- Zdroj:
- Path.Unix.cs
- Zdroj:
- Path.Unix.cs
Vrátí absolutní cestu z relativní cesty a plně kvalifikovanou základní cestu.
public:
static System::String ^ GetFullPath(System::String ^ path, System::String ^ basePath);
public static string GetFullPath(string path, string basePath);
static member GetFullPath : string * string -> string
Public Shared Function GetFullPath (path As String, basePath As String) As String
Parametry
- path
- String
Relativní cesta ke zřetězení basePath.
- basePath
- String
Začátek plně kvalifikované cesty.
Návraty
Absolutní cesta.
Výjimky
path nebo basePath je null.
basePath není plně kvalifikovaná cesta.
nebo
path nebo basePath obsahuje jeden nebo více neplatných znaků definovaných v GetInvalidPathChars().
Příklady
Následující příklad definuje proměnnou, basePathkterá představuje aktuální adresář aplikace. Pak ji GetFullPath předá metodě, aby získala plně kvalifikovanou cestu k datovému adresáři aplikace.
using System;
using System.IO;
class Program
{
static void Main()
{
string basePath = Environment.CurrentDirectory;
string relativePath = "./data/output.xml";
// Unexpectedly change the current directory.
Environment.CurrentDirectory = "C:/Users/Public/Documents/";
string fullPath = Path.GetFullPath(relativePath, basePath);
Console.WriteLine($"Current directory:\n {Environment.CurrentDirectory}");
Console.WriteLine($"Fully qualified path:\n {fullPath}");
}
}
// The example displays the following output:
// Current directory:
// C:\Users\Public\Documents
// Fully qualified path:
// C:\Utilities\data\output.xml
Imports System.IO
Module Program
Public Sub Main()
Dim basePath As String = Environment.CurrentDirectory
Dim relativePath As String = "./data/output.xml"
' Unexpectedly change the current directory.
Environment.CurrentDirectory = "C:/Users/Public/Documents/"
Dim fullPath As String = Path.GetFullPath(relativePath, basePath)
Console.WriteLine($"Current directory:\n {Environment.CurrentDirectory}")
Console.WriteLine($"Fully qualified path:\n {fullPath}")
End Sub
End Module
' The example displays the following output:
' Current directory:
' C:\Users\Public\Documents
' Fully qualified path:
' C:\Utilities\data\output.xml
Poznámky
Pokud path je prázdná cesta, metoda vrátí basePath. Pokud path je plně kvalifikovaná cesta, metoda předá pathGetFullPath(String) metodě a vrátí výsledek.
Tuto metodu použijte k vrácení deterministické cesty na základě zadaného svazku a kořenového adresáře při použití relativních cest. Použití předdefinované basePath místo toho, které vychází z adresáře aktuální jednotky, chrání před nežádoucími cestami k souborům způsobeným neočekávanými změnami v aktuální jednotce a adresáři.