Path.GetFullPath Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Túlterhelések
| Name | Description |
|---|---|
| GetFullPath(String) |
A megadott elérési út sztringjének abszolút elérési útját adja vissza. |
| GetFullPath(String, String) |
Abszolút elérési utat ad vissza egy relatív és egy teljesen minősített alapútvonalból. |
GetFullPath(String)
- Forrás:
- Path.Unix.cs
- Forrás:
- Path.Unix.cs
- Forrás:
- Path.Unix.cs
- Forrás:
- Path.Unix.cs
- Forrás:
- Path.Unix.cs
A megadott elérési út sztringjének abszolút elérési útját adja vissza.
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
Paraméterek
- path
- String
Az a fájl vagy könyvtár, amelyhez abszolút elérésiút-információkat szeretne beolvasni.
Válaszok
A "C:\MyFile.txt" teljes helye path.
Kivételek
path egy nulla hosszúságú sztring, csak üres szóközt tartalmaz Windows rendszereken, vagy egy vagy több érvénytelen karaktert tartalmaz GetInvalidPathChars().
-vagy-
A rendszer nem tudta lekérni az abszolút elérési utat.
A hívó nem rendelkezik a szükséges engedélyekkel.
path az null.
csak .NET keretrendszer: path kettőspontot (":) tartalmaz, amely nem része kötetazonosítónak (például "c:\").
A megadott elérési út, fájlnév vagy mindkettő meghaladja a rendszer által megadott maximális hosszt.
Példák
Az alábbi példa egy Windows-alapú asztali platform GetFullPath metódusát mutatja be.
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'
Megjegyzések
Az abszolút elérési út tartalmazza a rendszer fájljának vagy könyvtárának megkereséséhez szükséges összes információt.
A megadott path fájlnak vagy könyvtárnak nem kell léteznie. Ha például a c:\temp\newdir az aktuális könyvtár, egy fájlnév meghívása, GetFullPath például test.txt a következőt adja vissza: c:\temp\newdir\test.txt. A fájlnak nem kell léteznie.
Important
Ha path relatív elérési út, akkor ez a túlterhelés egy teljesen minősített elérési utat ad vissza, amely az aktuális meghajtón és az aktuális könyvtáron alapulhat. Az alkalmazás végrehajtásakor az aktuális meghajtó és az aktuális könyvtár bármikor változhat. Ennek eredményeképpen a túlterhelés által visszaadott útvonal nem határozható meg előre. A determinisztikus út visszaadásához hívja meg a túlterhelést GetFullPath(String, String) . A metódust is meghívhatja annak IsPathFullyQualified meghatározására, hogy egy elérési út teljes mértékben minősített vagy relatív-e, és ezért szükség van-e hívásra GetFullPath .
Ha path azonban létezik ilyen, a hívónak engedéllyel kell rendelkeznie ahhoz, hogy beolvassa az elérési út adatait.path Vegye figyelembe, hogy az osztály legtöbb tagjának eltérően ez a Path metódus hozzáfér a fájlrendszerhez.
Ez a metódus az aktuális könyvtárat és az aktuális kötetinformációt használja a teljes minősítéshez path. Ha csak a pathfájlnevet adja meg, GetFullPath az aktuális könyvtár teljes elérési útját adja vissza.
Ha rövid fájlnevet ad át, az hosszú fájlnévre lesz kibontva.
Ha egy elérési út nem tartalmaz jelentős karaktereket, az érvénytelen, kivéve, ha egy vagy több "." karaktert és tetszőleges számú szóközt tartalmaz; akkor "." vagy ".." néven lesz elemezve.
.NET Core 1.1 és újabb verziók, valamint a .NET Framework 4.6.2 és újabb verziói is támogatják az eszközneveket tartalmazó elérési utakat, például a "\\\?\C:\" verziót.
A Windows fájlútvonal-formátumáról további információt a File path formátumok Windows rendszereken című témakörben talál. A gyakori I/O-feladatok listáját a Gyakori I/O-feladatok című témakörben találja.
Lásd még
- File path formátumok Windows rendszereken
- Fájl és folyam I/O
- Útmutató: Szöveg beolvasása fájlból
- Útmutató: Szöveg írása fájlba
A következőre érvényes:
GetFullPath(String, String)
- Forrás:
- Path.Unix.cs
- Forrás:
- Path.Unix.cs
- Forrás:
- Path.Unix.cs
- Forrás:
- Path.Unix.cs
- Forrás:
- Path.Unix.cs
Abszolút elérési utat ad vissza egy relatív és egy teljesen minősített alapútvonalból.
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
Paraméterek
- path
- String
Relatív elérési út, amelybe összefűzhet basePath.
- basePath
- String
A teljes elérési út kezdete.
Válaszok
Az abszolút elérési út.
Kivételek
path vagy basePath az null.
basePath nem teljes elérési út.
-vagy-
pathvagy basePath egy vagy több érvénytelen karaktert tartalmaz.GetInvalidPathChars()
Példák
Az alábbi példa egy változót határoz meg, basePathamely egy alkalmazás aktuális könyvtárát jelöli. Ezután átadja a metódusnak, GetFullPath hogy teljes elérési utat kapjon az alkalmazás adatkönyvtárához.
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
Megjegyzések
Ha path üres elérési út, a metódus ad vissza basePath. Ha path egy teljes elérési út, a metódus átadja path a GetFullPath(String) metódusnak, és visszaadja az eredményt.
Ezzel a módszerrel visszaadhat egy determinisztikus elérési utat egy megadott kötet és gyökerezett könyvtár alapján, ha relatív elérési utakat használ. Előre definiált basePath helyett az aktuális meghajtó könyvtárának használata az aktuális meghajtó és könyvtár váratlan változásai által okozott nemkívánatos fájlelérési útvonalak ellen.