Path.GetDirectoryName 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 |
|---|---|
| GetDirectoryName(String) |
Returnerar kataloginformationen för den angivna sökvägen. |
| GetDirectoryName(ReadOnlySpan<Char>) |
Returnerar kataloginformationen för den angivna sökvägen som representeras av ett teckenintervall. |
GetDirectoryName(String)
Returnerar kataloginformationen för den angivna sökvägen.
public:
static System::String ^ GetDirectoryName(System::String ^ path);
public static string GetDirectoryName(string path);
static member GetDirectoryName : string -> string
Public Shared Function GetDirectoryName (path As String) As String
Parametrar
- path
- String
Sökvägen till en fil eller katalog.
Returer
Kataloginformation för path, eller null om path anger en rotkatalog eller är null. Returnerar Empty om path inte innehåller kataloginformation.
Undantag
.NET Framework- och .NET Core-versioner som är äldre än 2.1: parametern path innehåller ogiltiga tecken, är tom eller innehåller endast blanksteg.
Parametern path är längre än den systemdefinierade maximala längden.
Obs! I .NET för Windows Store-appar eller Portable Class Library fångar du i stället basklassfelet IOException.
Exempel
I följande exempel visas hur du använder metoden GetDirectoryName på en Windows-baserad skrivbordsplattform.
string? filePath = @"C:\MyDir\MySubDir\myfile.ext";
string? directoryName;
int i = 0;
while (filePath != null)
{
directoryName = Path.GetDirectoryName(filePath);
Console.WriteLine($"GetDirectoryName(\"{filePath}\") returns {directoryName ?? "NULL"}");
filePath = (i == 1)
? directoryName + @"\" // this will preserve the previous path
: directoryName;
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 NULL
*/
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 ''
Kommentarer
I de flesta fall består strängen som returneras av den här metoden av alla tecken i sökvägen upp till, men inte inklusive, de sista katalogavgränsarna. Ett katalogavgränsartecken kan vara antingen DirectorySeparatorChar eller AltDirectorySeparatorChar. Om sökvägen består av en rotkatalog, till exempel "c:\", null returneras.
Den här metoden stöder inte sökvägar med hjälp av "file:".
Eftersom den returnerade sökvägen inte innehåller de sista katalogavgränsarna, trunkerar den returnerade sökvägen tillbaka till GetDirectoryName metoden en mappnivå per efterföljande anrop på resultatsökvägen. Om du till exempel skickar sökvägen "C:\Directory\SubDirectory\test.txt" till GetDirectoryName returneras "C:\Directory\SubDirectory". Om du skickar sökvägen "C:\Directory\SubDirectory" till GetDirectoryName returneras "C:\Directory".
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
Gäller för
GetDirectoryName(ReadOnlySpan<Char>)
Returnerar kataloginformationen för den angivna sökvägen som representeras av ett teckenintervall.
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)
Parametrar
- path
- ReadOnlySpan<Char>
Sökvägen för att hämta kataloginformationen från.
Returer
Kataloginformation för path, eller ett tomt intervall om path är null, ett tomt intervall eller en rot (till exempel \, C:eller \\server\share).
Kommentarer
Till skillnad från strängöverlagringen normaliserar inte den här metoden katalogavgränsare.