Path Klass
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.
Utför åtgärder på String instanser som innehåller information om fil- eller katalogsökväg. Dessa åtgärder utförs på ett plattformsoberoende sätt.
public ref class Path abstract sealed
public ref class Path sealed
public static class Path
public sealed class Path
[System.Runtime.InteropServices.ComVisible(true)]
public static class Path
type Path = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type Path = class
Public Class Path
Public NotInheritable Class Path
- Arv
-
Path
- Attribut
Exempel
I följande exempel visas några av de viktigaste medlemmarna i Path klassen.
using System;
using System.IO;
class Test
{
public static void Main()
{
string path1 = @"c:\temp\MyTest.txt";
string path2 = @"c:\temp\MyTest";
string path3 = @"temp";
if (Path.HasExtension(path1))
{
Console.WriteLine("{0} has an extension.", path1);
}
if (!Path.HasExtension(path2))
{
Console.WriteLine("{0} has no extension.", path2);
}
if (!Path.IsPathRooted(path3))
{
Console.WriteLine("The string {0} contains no root information.", path3);
}
Console.WriteLine("The full path of {0} is {1}.", path3, Path.GetFullPath(path3));
Console.WriteLine("{0} is the location for temporary files.", Path.GetTempPath());
Console.WriteLine("{0} is a file available for use.", Path.GetTempFileName());
/* This code produces output similar to the following:
* c:\temp\MyTest.txt has an extension.
* c:\temp\MyTest has no extension.
* The string temp contains no root information.
* The full path of temp is D:\Documents and Settings\cliffc\My Documents\Visual Studio 2005\Projects\ConsoleApplication2\ConsoleApplication2\bin\Debug\temp.
* D:\Documents and Settings\cliffc\Local Settings\Temp\8\ is the location for temporary files.
* D:\Documents and Settings\cliffc\Local Settings\Temp\8\tmp3D.tmp is a file available for use.
*/
}
}
Imports System.IO
Public Class Test
Public Shared Sub Main()
Dim path1 As String = "c:\temp\MyTest.txt"
Dim path2 As String = "c:\temp\MyTest"
Dim path3 As String = "temp"
If Path.HasExtension(path1) Then
Console.WriteLine("{0} has an extension.", path1)
End If
If Path.HasExtension(path2) = False Then
Console.WriteLine("{0} has no extension.", path2)
End If
If Path.IsPathRooted(path3) = False Then
Console.WriteLine("The string {0} contains no root information.", path3)
End If
Console.WriteLine("The full path of {0} is {1}.", path3, Path.GetFullPath(path3))
Console.WriteLine("{0} is the location for temporary files.", Path.GetTempPath())
Console.WriteLine("{0} is a file available for use.", Path.GetTempFileName())
' This code produces output similar to the following:
' c:\temp\MyTest.txt has an extension.
' c:\temp\MyTest has no extension.
' The string temp contains no root information.
' The full path of temp is D:\Documents and Settings\cliffc\My Documents\Visual Studio 2005\Projects\ConsoleApplication2\ConsoleApplication2\bin\Debug\temp.
' D:\Documents and Settings\cliffc\Local Settings\Temp\8\ is the location for temporary files.
' D:\Documents and Settings\cliffc\Local Settings\Temp\8\tmp3D.tmp is a file available for use.
End Sub
End Class
Kommentarer
En sökväg är en sträng som tillhandahåller platsen för en fil eller katalog. En sökväg pekar inte nödvändigtvis på en plats på disken. En sökväg kan till exempel mappas till en plats i minnet eller på en enhet. Det exakta formatet för en sökväg bestäms av den aktuella plattformen. I vissa system kan till exempel en sökväg börja med en enhets- eller volymbeteckning, medan det här elementet inte finns i andra system. I vissa system kan filsökvägar innehålla tillägg, vilket anger vilken typ av information som lagras i filen. Formatet för filnamnstillägget är plattformsberoende. Vissa system begränsar till exempel tillägg till tre tecken (till exempel FAT16 som ofta används på mindre flashlagring och äldre versioner av ISO 9660 som används på optiska medier), och andra inte. Den aktuella plattformen avgör också vilken uppsättning tecken som används för att avgränsa elementen i en sökväg och den uppsättning tecken som inte kan användas när du anger sökvägar. På grund av dessa skillnader är fälten i Path klassen samt det exakta beteendet för vissa medlemmar i Path klassen plattformsberoende.
En sökväg kan innehålla absolut eller relativ platsinformation. Absoluta sökvägar anger helt en plats: filen eller katalogen kan identifieras unikt oavsett den aktuella platsen. Relativa sökvägar anger en partiell plats: den aktuella platsen används som startpunkt när en fil som anges med en relativ sökväg hittas. Om du vill fastställa den aktuella katalogen anropar du Directory.GetCurrentDirectory.
Den här typen stöder också åtkomst till filsystemobjekt som är enhetsnamn, till exempel "\\?\C:\". Stöd för enhetsnamn lades till i .NET Framework 4.6.2.
Mer information om filsökvägsformat på Windows finns i sökvägsformaten File på Windows system.
De flesta medlemmar i Path klassen interagerar inte med filsystemet och kontrollerar inte förekomsten av filen som anges av en sökvägssträng.
Path klassmedlemmar som ändrar en sökvägssträng, till exempel ChangeExtension, har ingen effekt på namn på filer i filsystemet.
Vissa Path medlemmar verifierar innehållet i en angiven sökvägssträng och genererar ett ArgumentException om strängen innehåller tecken som inte är giltiga i sökvägssträngar, enligt definitionen i de tecken som returneras från GetInvalidPathChars metoden. På Windows-baserade skrivbordsplattformar kan ogiltiga sökvägstecken till exempel innehålla citattecken ("), mindre än (<), större än (>), pipe (|), backspace (\b), null (\0) och Unicode-tecken 16 till 18 och 20 till och med 25. Det här valideringsbeteendet varierar mellan .NET versioner:
På .NET Framework: Alla
Pathmedlemmar som tar en sökväg som ett argument genererar en ArgumentException om de identifierar ogiltiga sökvägstecken.På .NET: GetFullPath är den enda medlemmen som genererar en ArgumentException om strängen innehåller ogiltiga sökvägstecken.
Med klassens Path medlemmar kan du snabbt och enkelt utföra vanliga åtgärder som att avgöra om ett filnamnstillägg är en del av en sökväg och kombinera två strängar till ett sökvägsnamn.
Alla medlemmar i Path klassen är statiska och kan därför anropas utan att ha en instans av en sökväg.
Note
I medlemmar som accepterar en sökväg som en indatasträng måste sökvägen vara väl utformad eller så genereras ett undantag. Om en sökväg till exempel är fullständigt kvalificerad men börjar med ett blanksteg, trimmas inte sökvägen i klassens metoder. Därför är sökvägen felaktigt formaterad och ett undantag utlöses. På samma sätt kan en sökväg eller en kombination av sökvägar inte vara fullständigt kvalificerad två gånger. Till exempel skapar "c:\temp c:\windows" också ett undantag i de flesta fall. Se till att sökvägarna är välformulerad när du använder metoder som accepterar en sökvägssträng.
I medlemmar som accepterar en sökväg kan sökvägen referera till en fil eller bara en katalog. Den angivna sökvägen kan också referera till en relativ sökväg eller en UNC-sökväg (Universal Naming Convention) för en server och ett resursnamn. Till exempel är alla följande godkända sökvägar:
"c:\\MyDir\\MyFile.txt" i C#, eller "c:\MyDir\MyFile.txt" i Visual Basic.
"c:\\MyDir" i C#, eller "c:\MyDir" i Visual Basic.
"MyDir\\MySubdir" i C#, eller "MyDir\MySubDir" i Visual Basic.
"\\\\MyServer\\MyShare" i C#, eller "\\MyServer\MyShare" i Visual Basic.
Eftersom alla dessa åtgärder utförs på strängar är det omöjligt att verifiera att resultaten är giltiga i alla scenarier. Metoden parsar till exempel GetExtension en sträng som du skickar till den och returnerar tillägget från strängen. Detta innebär dock inte att det finns en fil med tillägget på disken.
En lista över vanliga I/O-uppgifter finns i Vanliga I/O-uppgifter.
Fält
| Name | Description |
|---|---|
| AltDirectorySeparatorChar |
Tillhandahåller ett plattformsspecifikt alternativt tecken som används för att avgränsa katalognivåer i en sökvägssträng som återspeglar en hierarkisk filsystemorganisation. |
| DirectorySeparatorChar |
Innehåller ett plattformsspecifikt tecken som används för att avgränsa katalognivåer i en sökvägssträng som återspeglar en hierarkisk filsystemorganisation. |
| InvalidPathChars |
Föråldrad.
Innehåller en plattformsspecifik matris med tecken som inte kan anges i sökvägssträngsargument som skickas till medlemmar i Path klassen. |
| PathSeparator |
Ett plattformsspecifikt avgränsartecken som används för att separera sökvägssträngar i miljövariabler. |
| VolumeSeparatorChar |
Ger ett plattformsspecifikt volymavgränsartecken. |
Metoder
| Name | Description |
|---|---|
| ChangeExtension(String, String) |
Ändrar tillägget för en sökvägssträng. |
| Combine(String, String, String, String) |
Kombinerar fyra strängar i en sökväg. |
| Combine(String, String, String) |
Kombinerar tre strängar i en sökväg. |
| Combine(String, String) |
Kombinerar två strängar till en sökväg. |
| Combine(String[]) |
Kombinerar en matris med strängar till en sökväg. |
| 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. |
| GetExtension(ReadOnlySpan<Char>) |
Returnerar tillägget för en filsökväg som representeras av ett skrivskyddat teckenintervall. |
| GetExtension(String) |
Returnerar tillägget (inklusive perioden ".") för den angivna sökvägssträngen. |
| GetFileName(ReadOnlySpan<Char>) |
Returnerar filnamnet och filnamnstillägget för en filsökväg som representeras av ett skrivskyddat teckenintervall. |
| GetFileName(String) |
Returnerar filnamnet och tillägget för den angivna sökvägssträngen. |
| GetFileNameWithoutExtension(ReadOnlySpan<Char>) |
Returnerar filnamnet utan filnamnstillägget för en filsökväg som representeras av ett skrivskyddat teckenintervall. |
| GetFileNameWithoutExtension(String) |
Returnerar filnamnet för den angivna sökvägssträngen utan tillägget. |
| 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. |
| GetInvalidFileNameChars() |
Hämtar en matris som innehåller de tecken som inte tillåts i filnamn. |
| GetInvalidPathChars() |
Hämtar en matris som innehåller de tecken som inte tillåts i sökvägsnamn. |
| GetPathRoot(ReadOnlySpan<Char>) |
Hämtar rotkataloginformationen från sökvägen i det angivna teckenintervallet. |
| GetPathRoot(String) |
Hämtar rotkataloginformationen från sökvägen som finns i den angivna strängen. |
| GetRandomFileName() |
Returnerar ett slumpmässigt mappnamn eller filnamn. |
| GetRelativePath(String, String) |
Returnerar en relativ sökväg från en sökväg till en annan. |
| GetTempFileName() |
Skapar en unikt namngiven temporär fil med noll byte på disken och returnerar filens fullständiga sökväg. |
| GetTempPath() |
Returnerar sökvägen till den aktuella användarens temporära mapp. |
| HasExtension(ReadOnlySpan<Char>) |
Avgör om sökvägen som representeras av det angivna teckenintervallet innehåller ett filnamnstillägg. |
| HasExtension(String) |
Avgör om en sökväg innehåller ett filnamnstillägg. |
| IsPathFullyQualified(ReadOnlySpan<Char>) |
Returnerar ett värde som anger om filsökvägen som representeras av det angivna teckenintervallet är fast på en specifik enhet eller UNC-sökväg. |
| IsPathFullyQualified(String) |
Returnerar ett värde som anger om den angivna filsökvägen är fast på en specifik enhet eller UNC-sökväg. |
| IsPathRooted(ReadOnlySpan<Char>) |
Returnerar ett värde som anger om det angivna teckenintervallet som representerar en filsökväg innehåller en rot. |
| IsPathRooted(String) |
Returnerar ett värde som anger om den angivna sökvägssträngen innehåller en rot. |
| Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Sammanfogar tre sökvägskomponenter till en enda sökväg. |
| Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Sammanfogar två sökvägskomponenter till en enda sökväg. |
| TryJoin(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>, Span<Char>, Int32) |
Försöker sammanfoga tre sökvägskomponenter till ett enda förallokerat teckenintervall och returnerar ett värde som anger om åtgärden lyckades. |
| TryJoin(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Span<Char>, Int32) |
Försöker sammanfoga två sökvägskomponenter till ett enda förallokerat teckenintervall och returnerar ett värde som anger om åtgärden lyckades. |