Path.GetFullPath Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Överlagringar
| Name | Description |
|---|---|
| GetFullPath(String, String) |
Returnerar en absolut sökväg från en relativ sökväg och en fullständigt kvalificerad bassökväg. |
| GetFullPath(String) |
Returnerar den absoluta sökvägen för den angivna sökvägssträngen. |
GetFullPath(String, String)
Returnerar en absolut sökväg från en relativ sökväg och en fullständigt kvalificerad bassökväg.
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
Parametrar
- path
- String
En relativ sökväg för att sammanfoga till basePath.
- basePath
- String
Början på en fullständigt kvalificerad sökväg.
Returer
Den absoluta sökvägen.
Undantag
path eller basePath är null.
basePath är inte en fullständigt kvalificerad sökväg.
-eller-
path eller basePath innehåller ett eller flera av de ogiltiga tecken som definierats i GetInvalidPathChars().
Exempel
I följande exempel definieras en variabel, basePath, som representerar ett programs aktuella katalog. Den skickar den sedan till GetFullPath metoden för att få en fullständigt kvalificerad sökväg till programmets datakatalog.
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
Kommentarer
Om path är en tom sökväg returnerar basePathmetoden . Om path är en fullständigt kvalificerad sökväg skickas path metoden till GetFullPath(String) metoden och returnerar resultatet.
Använd den här metoden för att returnera en deterministisk sökväg baserat på en angiven volym och rotad katalog när du använder relativa sökvägar. Att använda en fördefinierad basePath i stället för en baserad på den aktuella enhetskatalogen skyddar mot oönskade filsökvägar som orsakas av oväntade ändringar i den aktuella enheten och katalogen.
Gäller för
GetFullPath(String)
Returnerar den absoluta sökvägen för den angivna sökvägssträngen.
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
Parametrar
- path
- String
Den fil eller katalog som du vill hämta absolut sökvägsinformation för.
Returer
Den fullständigt kvalificerade platsen pathför , till exempel "C:\MyFile.txt".
Undantag
path är en sträng med noll längd, innehåller endast tomt utrymme i Windows system eller innehåller ett eller flera av de ogiltiga tecken som definierats i GetInvalidPathChars().
-eller-
Det gick inte att hämta den absoluta sökvägen.
Anroparen har inte de behörigheter som krävs.
path är null.
endast .NET Framework: path innehåller ett kolon (":") som inte ingår i en volymidentifierare (till exempel "c:\").
Den angivna sökvägen, filnamnet eller båda överskrider den systemdefinierade maximala längden.
Exempel
I följande exempel visas metoden GetFullPath på en Windows-baserad skrivbordsplattform.
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'
Kommentarer
Den absoluta sökvägen innehåller all information som krävs för att hitta en fil eller katalog i ett system.
Den fil eller katalog som anges av path krävs inte för att finnas. Om c:\temp\newdir till exempel är den aktuella katalogen, returnerar anropet GetFullPath till ett filnamn som test.txtc:\temp\newdir\test.txt. Filen behöver inte finnas.
Important
Om path är en relativ sökväg returnerar den här överlagringen en fullständigt kvalificerad sökväg som kan baseras på den aktuella enheten och den aktuella katalogen. Den aktuella enheten och den aktuella katalogen kan ändras när som helst när ett program körs. Det innebär att sökvägen som returneras av den här överlagringen inte kan fastställas i förväg. Om du vill returnera en deterministisk sökväg anropar du överlagringen GetFullPath(String, String) . Du kan också anropa IsPathFullyQualified metoden för att avgöra om en sökväg är fullständigt kvalificerad eller relativ och därför om ett anrop till GetFullPath är nödvändigt.
Men om path det finns måste anroparen ha behörighet att hämta sökvägsinformation för path. Observera att till skillnad från de flesta medlemmar i Path klassen kommer den här metoden åt filsystemet.
Den här metoden använder den aktuella katalogen och aktuell volyminformation för att fullständigt kvalificera path. Om du endast anger ett filnamn i pathGetFullPath returnerar den fullständigt kvalificerade sökvägen för den aktuella katalogen.
Om du skickar ett kort filnamn expanderas det till ett långt filnamn.
Om en sökväg inte innehåller några signifikanta tecken är den ogiltig om den inte innehåller ett eller flera "." tecken följt av valfritt antal blanksteg. sedan parsas den som antingen "." eller ".".
.NET Core 1.1 och senare versioner och .NET Framework 4.6.2 och senare versioner stöder även sökvägar som innehåller enhetsnamn, till exempel "\\?\C:\".
Mer information om filsökvägsformat på Windows finns i sökvägsformaten File på Windows system. En lista över vanliga I/O-uppgifter finns i Vanliga I/O-uppgifter.
Se även
- File-sökvägsformat i Windows system
- Fil- och ström-I/O
- Anvisningar: Läsa text från en fil
- Anvisningar: Skriva text till en fil