Path.GetDirectoryName 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
GetDirectoryName(String) |
Belirtilen yol için dizin bilgilerini döndürür. |
GetDirectoryName(ReadOnlySpan<Char>) |
Bir karakter aralığıyla temsil edilen belirtilen yol için dizin bilgilerini döndürür. |
GetDirectoryName(String)
- Kaynak:
- Path.cs
- Kaynak:
- Path.cs
- Kaynak:
- Path.cs
Belirtilen yol için dizin bilgilerini döndürür.
public:
static System::String ^ GetDirectoryName(System::String ^ path);
public static string GetDirectoryName (string path);
public static string? GetDirectoryName (string? path);
static member GetDirectoryName : string -> string
Public Shared Function GetDirectoryName (path As String) As String
Parametreler
- path
- String
Bir dosya veya dizinin yolu.
Döndürülenler
için path
veya null
bir kök dizini belirtirse veya null ise path
dizin bilgileri. Dizin bilgileri içermiyorsa path
döndürürEmpty.
Özel durumlar
2.1'den eski .NET Framework ve .NET Core sürümleri: path
Parametre geçersiz karakterler içeriyor, boş veya yalnızca boşluk içeriyor.
path
parametresi, sistem tarafından tanımlanan uzunluk üst sınırından daha uzundur.
Not: Windows Mağazası uygulamaları için .NET'te veya Taşınabilir Sınıf Kitaplığı'nda bunun yerine temel sınıf özel durumunu IOExceptionyakalayın.
Örnekler
Aşağıdaki örnekte, Windows tabanlı bir masaüstü platformunda yönteminin kullanılması GetDirectoryName
gösterilmektedir.
String^ filePath = "C:\\MyDir\\MySubDir\\myfile.ext";
String^ directoryName;
int i = 0;
while (filePath != nullptr)
{
directoryName = Path::GetDirectoryName(filePath);
Console::WriteLine("GetDirectoryName('{0}') returns '{1}'",
filePath, directoryName);
filePath = directoryName;
if (i == 1)
{
filePath = directoryName + "\\"; // this will preserve the previous path
}
i++;
}
/*
This code produces the following output:
GetDirectoryName('C:\MyDir\MySubDir\myfile.ext') returns 'C:\MyDir\MySubDir'
GetDirectoryName('C:\MyDir\MySubDir') returns 'C:\MyDir'
GetDirectoryName('C:\MyDir\') returns 'C:\MyDir'
GetDirectoryName('C:\MyDir') returns 'C:\'
GetDirectoryName('C:\') returns ''
*/
string filePath = @"C:\MyDir\MySubDir\myfile.ext";
string directoryName;
int i = 0;
while (filePath != null)
{
directoryName = Path.GetDirectoryName(filePath);
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'",
filePath, directoryName);
filePath = directoryName;
if (i == 1)
{
filePath = directoryName + @"\"; // this will preserve the previous path
}
i++;
}
/*
This code produces the following output:
GetDirectoryName('C:\MyDir\MySubDir\myfile.ext') returns 'C:\MyDir\MySubDir'
GetDirectoryName('C:\MyDir\MySubDir') returns 'C:\MyDir'
GetDirectoryName('C:\MyDir\') returns 'C:\MyDir'
GetDirectoryName('C:\MyDir') returns 'C:\'
GetDirectoryName('C:\') returns ''
*/
Dim filepath As String = "C:\MyDir\MySubDir\myfile.ext"
Dim directoryName As String
Dim i As Integer = 0
While filepath <> Nothing
directoryName = Path.GetDirectoryName(filepath)
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", _
filepath, directoryName)
filepath = directoryName
If i = 1 Then
filepath = directoryName + "\" ' this will preserve the previous path
End If
i = i + 1
End While
'This code produces the following output:
'
' GetDirectoryName('C:\MyDir\MySubDir\myfile.ext') returns 'C:\MyDir\MySubDir'
' GetDirectoryName('C:\MyDir\MySubDir') returns 'C:\MyDir'
' GetDirectoryName('C:\MyDir\') returns 'C:\MyDir'
' GetDirectoryName('C:\MyDir') returns 'C:\'
' GetDirectoryName('C:\') returns ''
Açıklamalar
Çoğu durumda, bu yöntem tarafından döndürülen dize, yoldaki en son dizin ayırıcı karakterlerini içeren ancak buna dahil olmayan tüm karakterlerden oluşur. Dizin ayırıcı karakteri veya DirectorySeparatorCharAltDirectorySeparatorCharolabilir. Yol "c:\" gibi bir kök dizinden oluşuyorsa döndürülür null
.
Bu yöntem "file:" kullanan yolları desteklemez.
Döndürülen yol son dizin ayırıcı karakterlerini içermediğinden, döndürülen yolu yöntemine geri geçirerek GetDirectoryName sonuç yolundaki sonraki çağrı başına bir klasör düzeyi kesilir. Örneğin, "C:\Directory\SubDirectory\test.txt" yolunun içine geçirilmesi GetDirectoryName "C:\Directory\SubDirectory" döndürür. "C:\Directory\SubDirectory" yolunu " GetDirectoryName C:\Directory" döndürür.
Yaygın G/Ç görevlerinin listesi için bkz. Ortak G/Ç görevleri.
Ayrıca bkz.
- Windows sistemlerinde dosya yolu biçimleri
- Dosya ve Akış G/Ç
- Nasıl yapılır: Dosyadan Metin Okuma
- Nasıl yapılır: Bir Dosyaya Metin Yazma
Şunlara uygulanır
GetDirectoryName(ReadOnlySpan<Char>)
- Kaynak:
- Path.cs
- Kaynak:
- Path.cs
- Kaynak:
- Path.cs
Bir karakter aralığıyla temsil edilen belirtilen yol için dizin bilgilerini döndürür.
public:
static ReadOnlySpan<char> GetDirectoryName(ReadOnlySpan<char> path);
public static ReadOnlySpan<char> GetDirectoryName (ReadOnlySpan<char> path);
static member GetDirectoryName : ReadOnlySpan<char> -> ReadOnlySpan<char>
Public Shared Function GetDirectoryName (path As ReadOnlySpan(Of Char)) As ReadOnlySpan(Of Char)
Parametreler
- path
- ReadOnlySpan<Char>
Dizin bilgilerini almak için yol.
Döndürülenler
için dizin bilgileri path
veya boş bir span ise path
null
, boş bir yayılma alanı veya kök (\, C:veya \\server\share gibi).
Açıklamalar
Dize aşırı yüklemesinin aksine, bu yöntem dizin ayırıcılarını normalleştirmez.