Path.GetFullPath Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Overloads
| Name | Description |
|---|---|
| GetFullPath(String, String) |
Retourneert een absoluut pad van een relatief pad en een volledig gekwalificeerde basispad. |
| GetFullPath(String) |
Retourneert het absolute pad voor de opgegeven padtekenreeks. |
GetFullPath(String, String)
Retourneert een absoluut pad van een relatief pad en een volledig gekwalificeerde basispad.
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
Parameters
- path
- String
Een relatief pad om samen te voegen naar basePath.
- basePath
- String
Het begin van een volledig gekwalificeerd pad.
Retouren
Het absolute pad.
Uitzonderingen
path of basePath is null.
basePath is geen volledig gekwalificeerd pad.
– of –
path of basePath een of meer ongeldige tekens bevat die zijn gedefinieerd in GetInvalidPathChars().
Voorbeelden
In het volgende voorbeeld wordt een variabele gedefinieerd om basePathde huidige map van een toepassing weer te geven. Vervolgens wordt deze doorgegeven aan de GetFullPath methode om een volledig gekwalificeerd pad naar de gegevensmap van de toepassing op te halen.
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
Opmerkingen
Als path dit een leeg pad is, retourneert basePathde methode . Als path dit een volledig gekwalificeerd pad is, wordt de methode doorgegeven path aan de GetFullPath(String) methode en wordt het resultaat geretourneerd.
Gebruik deze methode om een deterministisch pad te retourneren op basis van een opgegeven volume en geroote map wanneer u relatieve paden gebruikt. Het gebruik van een vooraf gedefinieerde basePath in plaats van één op basis van de huidige stationsmap beschermt tegen ongewenste bestandspaden die worden veroorzaakt door onverwachte wijzigingen in het huidige station en de huidige map.
Van toepassing op
GetFullPath(String)
Retourneert het absolute pad voor de opgegeven padtekenreeks.
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
Parameters
- path
- String
Het bestand of de map waarvoor absolute padinformatie moet worden verkregen.
Retouren
De volledig gekwalificeerde locatie van path, zoals "C:\MyFile.txt".
Uitzonderingen
path is een tekenreeks met lengte nul, bevat alleen witruimte op Windows systemen of bevat een of meer ongeldige tekens die zijn gedefinieerd in GetInvalidPathChars().
– of –
Het systeem kan het absolute pad niet ophalen.
De beller beschikt niet over de vereiste machtigingen.
path is null.
alleen .NET Framework: path bevat een dubbele punt (":") die geen deel uitmaakt van een volume-id (bijvoorbeeld 'c:\').
Het opgegeven pad, de bestandsnaam of beide overschrijden de door het systeem gedefinieerde maximumlengte.
Voorbeelden
In het volgende voorbeeld ziet u de methode GetFullPath op een Windows bureaubladplatform.
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'
Opmerkingen
Het absolute pad bevat alle informatie die nodig is om een bestand of map op een systeem te zoeken.
Het bestand of de map die is opgegeven door path , hoeft niet te bestaan. Als c:\temp\newdir bijvoorbeeld de huidige map is, wordt het aanroepen GetFullPath van een bestandsnaam, zoals test.txt, c:\temp\newdir\test.txtgeretourneerd. Het bestand hoeft niet te bestaan.
Important
Als path dit een relatief pad is, retourneert deze overbelasting een volledig gekwalificeerd pad dat kan worden gebaseerd op het huidige station en de huidige map. Het huidige station en de huidige map kunnen op elk gewenst moment worden gewijzigd wanneer een toepassing wordt uitgevoerd. Als gevolg hiervan kan het pad dat door deze overbelasting wordt geretourneerd, niet vooraf worden bepaald. Als u een deterministisch pad wilt retourneren, roept u de GetFullPath(String, String) overbelasting aan. U kunt de IsPathFullyQualified methode ook aanroepen om te bepalen of een pad volledig gekwalificeerd of relatief is en daarom of een aanroep GetFullPath nodig is.
Als path er echter wel bestaat, moet de beller gemachtigd zijn om padgegevens voor pathte verkrijgen. Houd er rekening mee dat deze methode, in tegenstelling tot de meeste leden van de Path klasse, toegang heeft tot het bestandssysteem.
Deze methode maakt gebruik van de huidige map- en huidige volumegegevens om volledig in aanmerking te komen path. Als u alleen een bestandsnaam opgeeft, pathGetFullPath wordt het volledig gekwalificeerde pad van de huidige map geretourneerd.
Als u een korte bestandsnaam doorgeeft, wordt deze uitgebreid naar een lange bestandsnaam.
Als een pad geen significante tekens bevat, is het ongeldig, tenzij het een of meer "" tekens bevat, gevolgd door een willekeurig aantal spaties; dan wordt het geparseerd als '.' of '.'.
.NET Core 1.1 en latere versies en .NET Framework 4.6.2 en latere versies ondersteunen ook paden met apparaatnamen, zoals '\\?\C:\'.
Zie Bestandspadindelingen op Windows systemen voor meer informatie over bestandspadindelingen op Windows. Zie Algemene I/O-taken voor een lijst met algemene I/O-taken.
Zie ook
- Bestandspadindelingen op Windows systemen
- Bestands- en Stream-I/O
- Procedure: Tekst uit een bestand lezen
- Procedure: Tekst naar een bestand schrijven