Path.GetFullPath Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
| Name | Beschreibung |
|---|---|
| GetFullPath(String, String) |
Gibt einen absoluten Pfad von einem relativen Pfad und einem vollqualifizierten Basispfad zurück. |
| GetFullPath(String) |
Gibt den absoluten Pfad für die angegebene Pfadzeichenfolge zurück. |
GetFullPath(String, String)
Gibt einen absoluten Pfad von einem relativen Pfad und einem vollqualifizierten Basispfad zurück.
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
Parameter
- path
- String
Ein relativer Pfad, der verkettet werden basePathsoll.
- basePath
- String
Der Anfang eines vollqualifizierten Pfads.
Gibt zurück
Der absolute Pfad.
Ausnahmen
path oder basePath ist null.
basePath ist kein vollqualifizierter Pfad.
-oder-
path oder basePath enthält mindestens ein ungültiges Zeichen, das in GetInvalidPathChars().
Beispiele
Im folgenden Beispiel wird eine Variable definiert, basePathdie das aktuelle Verzeichnis einer Anwendung darstellt. Anschließend wird sie an die GetFullPath Methode übergeben, um einen vollqualifizierten Pfad zum Datenverzeichnis der Anwendung abzurufen.
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
Hinweise
Wenn path es sich um einen leeren Pfad handelt, gibt die Methode zurück basePath. Wenn path es sich um einen vollqualifizierten Pfad handelt, übergibt path die Methode an die GetFullPath(String) Methode und gibt das Ergebnis zurück.
Verwenden Sie diese Methode, um einen deterministischen Pfad basierend auf einem angegebenen Volume und einem rootigen Verzeichnis zurückzugeben, wenn Sie relative Pfade verwenden. Die Verwendung eines vordefinierten basePath und nicht eines auf dem aktuellen Laufwerkverzeichnis basiert, schützt vor unerwünschten Dateipfaden, die durch unerwartete Änderungen im aktuellen Laufwerk und Verzeichnis verursacht werden.
Gilt für:
GetFullPath(String)
Gibt den absoluten Pfad für die angegebene Pfadzeichenfolge zurück.
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
Parameter
- path
- String
Die Datei oder das Verzeichnis, für die absolute Pfadinformationen abzurufen sind.
Gibt zurück
Der vollqualifizierte Standort von path, z. B. "C:\MyFile.txt".
Ausnahmen
path ist eine leere Zeichenfolge, enthält nur Leerzeichen auf Windows Systemen oder enthält mindestens ein ungültiges Zeichen, das in GetInvalidPathChars() definiert ist.
-oder-
Das System konnte den absoluten Pfad nicht abrufen.
Der Aufrufer verfügt nicht über die erforderlichen Berechtigungen.
path ist null.
.NET Framework: path enthält einen Doppelpunkt (":"), der nicht Teil eines Volumebezeichners ist (z. B. "c:\").
Der angegebene Pfad, der Dateiname oder beide überschreiten die vom System definierte maximale Länge.
Beispiele
Im folgenden Beispiel wird die GetFullPath-Methode auf einer Windows-basierten Desktopplattform veranschaulicht.
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'
Hinweise
Der absolute Pfad enthält alle Informationen, die zum Suchen einer Datei oder eines Verzeichnisses in einem System erforderlich sind.
Die angegebene Datei oder das angegebene path Verzeichnis ist nicht erforderlich. Wenn z. B. c:\temp\newdir das aktuelle Verzeichnis ist, GetFullPath wird ein Dateiname wie test.txt"c:\temp\newdir\test.txt" zurückgegeben. Die Datei muss nicht vorhanden sein.
Important
Wenn path es sich um einen relativen Pfad handelt, gibt diese Überladung einen vollqualifizierten Pfad zurück, der auf dem aktuellen Laufwerk und dem aktuellen Verzeichnis basieren kann. Das aktuelle Laufwerk und das aktuelle Verzeichnis können sich jederzeit ändern, wenn eine Anwendung ausgeführt wird. Daher kann der von dieser Überladung zurückgegebene Pfad nicht im Voraus bestimmt werden. Rufen Sie die GetFullPath(String, String) Überladung auf, um einen deterministischen Pfad zurückzugeben. Sie können die IsPathFullyQualified Methode auch aufrufen, um festzustellen, ob ein Pfad vollqualifizierter oder relativer Pfad ist, und daher, ob ein Aufruf GetFullPath erforderlich ist.
Falls path vorhanden, muss der Aufrufer jedoch über die Berechtigung zum Abrufen von Pfadinformationen verfügen.path Beachten Sie, dass diese Methode im Gegensatz zu den meisten Membern der Path Klasse auf das Dateisystem zugreift.
Diese Methode verwendet das aktuelle Verzeichnis und die aktuellen Volumeinformationen, um vollständig zu qualifizieren path. Wenn Sie nur patheinen Dateinamen angeben, GetFullPath wird der vollqualifizierte Pfad des aktuellen Verzeichnisses zurückgegeben.
Wenn Sie einen kurzen Dateinamen übergeben, wird er auf einen langen Dateinamen erweitert.
Wenn ein Pfad keine signifikanten Zeichen enthält, ist er ungültig, es sei denn, er enthält ein oder mehrere "."-Zeichen, gefolgt von einer beliebigen Anzahl von Leerzeichen; dann wird sie als "." oder "." analysiert.
.NET Core 1.1 und höher sowie .NET Framework 4.6.2 und höher unterstützen auch Pfade, die Gerätenamen enthalten, z. B. "\\?\C:\".
Weitere Informationen zu Dateiformaten unter Windows finden Sie unter Dateipfadformate auf Windows-Systemen. Eine Liste allgemeiner E/A-Aufgaben finden Sie unter "Allgemeine E/A-Aufgaben".
Weitere Informationen
- File-Pfadformate auf Windows Systemen
- Datei- und Stream-E/A
- Vorgehensweise: Lesen von Text aus einer Datei
- Vorgehensweise: Schreiben von Text in eine Datei