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í
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
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 rozhraní .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ě se systémem Windows.
String^ fileName = "myfile.ext";
String^ path = "\\mydir\\";
String^ fullPath;
fullPath = Path::GetFullPath( path );
Console::WriteLine( "GetFullPath('{0}') returns '{1}'", path, fullPath );
fullPath = Path::GetFullPath( fileName );
Console::WriteLine( "GetFullPath('{0}') returns '{1}'", fileName, 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'
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ář určený parametrem path
není nutné, aby existoval. Pokud je například aktuální adresář c:\temp\newdir , volání GetFullPath
na název souboru, například test.txt , vrátí c:\temp\newdir\test.txt. Soubor nemusí existovat.
Důležité
Pokud path
je relativní cesta, vrátí toto přetížení 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 při spuštění aplikace kdykoli změnit. V důsledku toho nelze předem určit cestu vrácenou tímto přetížením. Chcete-li vrátit deterministický způsob, 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 GetFullPath
je volání nutné.
Pokud path
však existuje, volající musí mít oprávnění k získání informací o cestě pro path
. Všimněte si, že na rozdíl od většiny Path členů 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é kvalifikaci path
. Pokud zadáte název souboru pouze v path
, 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 bude analyzován jako "." nebo "..".
.NET Core 1.1 a novější verze a .NET Framework 4.6.2 a novější verze také podporují cesty, které obsahují názvy zařízení, například \\?\C:\.
Další informace o formátech cest k souborům ve Windows najdete 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 cesty k souborům v systémech Windows
- Vstupně-výstupní operace 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
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 pro zřetězení s 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 basePath
, která představuje aktuální adresář aplikace. Pak ho 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 cesta prázdná, vrátí basePath
metoda . Pokud path
je plně kvalifikovaná cesta, metoda předá path
GetFullPath(String) metodě a vrátí výsledek.
Tato metoda slouží k vrácení deterministické cesty založené na zadaném svazku a kořenovém adresáři, pokud používáte relativní cesty. Použití předdefinované basePath
složky založené na aktuálním adresáři jednotky chrání před nežádoucími cestami k souborům způsobenými neočekávanými změnami na aktuální jednotce a adresáři.