Path.GetFullPath Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Aşırı Yüklemeler
GetFullPath(String) |
Belirtilen yol dizesi için mutlak yolu döndürür. |
GetFullPath(String, String) |
Göreli bir yoldan ve tam taban yoldan mutlak bir yol döndürür. |
GetFullPath(String)
- Kaynak:
- Path.Unix.cs
- Kaynak:
- Path.Unix.cs
- Kaynak:
- Path.Unix.cs
Belirtilen yol dizesi için mutlak yolu döndürür.
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
Parametreler
- path
- String
Mutlak yol bilgilerinin alındığı dosya veya dizin.
Döndürülenler
öğesinin path
"C:\MyFile.txt" gibi tam konumu.
Özel durumlar
path
sıfır uzunluklu bir dizedir, yalnızca Windows sistemlerinde boşluk içerir veya içinde GetInvalidPathChars()tanımlanan geçersiz karakterlerden birini veya daha fazlasını içerir.
-veya-
Sistem mutlak yolu alamadı.
Çağıranın gerekli izinleri yok.
path
, null
değeridir.
Yalnızca .NET Framework: path
birim tanımlayıcısının parçası olmayan iki nokta üst üste (":") içerir (örneğin, "c:\").
Belirtilen yol, dosya adı veya her ikisi birden sistem tarafından tanımlanan en fazla uzunluğu aşıyor.
Örnekler
Aşağıdaki örnekte Windows tabanlı bir masaüstü platformunda yöntemi gösterilmektedir GetFullPath
.
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'
Açıklamalar
Mutlak yol, sistemdeki bir dosyayı veya dizini bulmak için gereken tüm bilgileri içerir.
tarafından path
belirtilen dosya veya dizinin var olması gerekli değildir. Örneğin, geçerli dizin c:\temp\newdir ise,test.txtgibi bir dosya adıyla çağrısı GetFullPath
c:\temp\newdir\test.txt döndürür. Dosyanın mevcut olması gerekmez.
Önemli
Göreli bir yolsa path
, bu aşırı yükleme geçerli sürücüyü ve geçerli dizini temel alan tam bir yol döndürür. Geçerli sürücü ve geçerli dizin, bir uygulama yürütülürken herhangi bir zamanda değişebilir. Sonuç olarak, bu aşırı yükleme tarafından döndürülen yol önceden belirlenemez. Belirleyici bir yol döndürmek için aşırı yüklemeyi çağırın GetFullPath(String, String) . Ayrıca, bir yolun tam niteleyici mi yoksa göreli mi olduğunu ve dolayısıyla çağrısının gerekli olup olmadığını belirlemek için GetFullPath
yöntemini çağırabilirsinizIsPathFullyQualified.
Ancak, varsa path
, çağıranın için path
yol bilgilerini alma izni olmalıdır. Sınıfın üyelerinin çoğundan farklı olarak bu yöntemin Path dosya sistemine eriştiğine dikkat edin.
Bu yöntem, tam niteleme path
için geçerli dizini ve geçerli birim bilgilerini kullanır. yalnızca içinde path
GetFullPath
bir dosya adı belirtirseniz, geçerli dizinin tam yolunu döndürür.
Kısa bir dosya adı geçirirseniz, uzun bir dosya adına genişletilir.
Yol önemli karakterler içermiyorsa, bir veya daha fazla "." karakter ve ardından herhangi bir sayıda boşluk içermediği sürece geçersizdir; ardından "." veya ".." olarak ayrıştırılır.
.NET Core 1.1 ve sonraki sürümleri ile .NET Framework 4.6.2 ve sonraki sürümleri de "\\?\C:\" gibi cihaz adlarını içeren yolları destekler.
Windows'da dosya yolu biçimleri hakkında daha fazla bilgi için bkz. Windows sistemlerinde dosya yolu biçimleri. Yaygın G/Ç görevlerinin listesi için bkz. Ortak G/Ç Görevleri.
Ayrıca bkz.
- Windows sistemlerinde dosya yolu biçimleri
- Dosya ve Stream G/Ç
- Nasıl yapılır: Dosyadan Metin Okuma
- Nasıl yapılır: Bir Dosyaya Metin Yazma
Şunlara uygulanır
GetFullPath(String, String)
- Kaynak:
- Path.Unix.cs
- Kaynak:
- Path.Unix.cs
- Kaynak:
- Path.Unix.cs
Göreli bir yoldan ve tam taban yoldan mutlak bir yol döndürür.
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
Parametreler
- path
- String
ile birleştirmek basePath
için göreli bir yol.
- basePath
- String
Tam yol başlangıcı.
Döndürülenler
Mutlak yol.
Özel durumlar
path
veya basePath
şeklindedir null
.
basePath
tam olarak nitelenmiş bir yol değil.
-veya-
path
veya basePath
içinde GetInvalidPathChars()tanımlanan geçersiz karakterlerden birini veya daha fazlasını içerir.
Örnekler
Aşağıdaki örnek, basePath
bir uygulamanın geçerli dizinini temsil eden bir değişkeni tanımlar. Daha sonra uygulamanın veri dizinine GetFullPath
tam yol almak için yöntemine geçirir.
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
Açıklamalar
Boş bir yolsa path
, yöntemi döndürür basePath
. Tam yol isepath
, yöntemi yöntemine GetFullPath(String) geçer path
ve sonucu döndürür.
Göreli yollar kullanırken belirtilen birime ve kök dizinine dayalı belirlenimci bir yol döndürmek için bu yöntemi kullanın. Geçerli sürücü dizinini temel alan bir yerine önceden tanımlanmış basePath
bir kullanmak, geçerli sürücü ve dizindeki beklenmeyen değişikliklerin neden olduğu istenmeyen dosya yollarına karşı koruma sağlar.