Path Osztály
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.
Fájl- vagy könyvtárelérési adatokat tartalmazó példányokon hajt végre műveleteket String . Ezeket a műveleteket platformfüggetlen módon hajtják végre.
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
- Öröklődés
-
Path
- Attribútumok
Példák
Az alábbi példa az osztály néhány fő tagját mutatja be Path .
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
Megjegyzések
Az elérési út egy olyan sztring, amely egy fájl vagy könyvtár helyét adja meg. Az elérési utak nem feltétlenül a lemez egy helyére mutatnak; Például egy elérési út a memóriában vagy az eszközön lévő helyre is megfeleltethet. Az elérési út pontos formátumát az aktuális platform határozza meg. Egyes rendszerekben például az elérési út meghajtóval vagy kötetbetűjellel kezdődhet, míg ez az elem más rendszerekben nem található meg. Egyes rendszerekben a fájl elérési útjai bővítményeket tartalmazhatnak, amelyek a fájlban tárolt információk típusát jelzik. A fájlnévkiterjesztés formátuma platformfüggő; Egyes rendszerek például három karakterre korlátozzák a bővítményeket (például a kisebb flash-tárolókban gyakran használt FAT16-ot és az optikai adathordozón használt ISO 9660 régebbi verzióit), míg mások nem. Az aktuális platform az elérési út elemeinek elválasztásához használt karaktereket és az elérési utak megadásakor nem használható karaktereket is meghatározza. Ezen különbségek miatt az osztály mezői Path , valamint az osztály egyes tagjainak pontos viselkedése Path platformfüggetlen.
Az elérési utak tartalmazhatnak abszolút vagy relatív helyadatokat. Az abszolút elérési utak teljes mértékben meghatároznak egy helyet: a fájl vagy könyvtár egyedileg azonosítható az aktuális helytől függetlenül. A relatív elérési utak részleges helyet adnak meg: a relatív elérési úttal megadott fájl keresésekor a rendszer az aktuális helyet használja kiindulási pontként. Az aktuális könyvtár meghatározásához hívja meg a következőt Directory.GetCurrentDirectory: .
Ez a típus támogatja az eszközneveket tartalmazó fájlrendszer-objektumokhoz való hozzáférést is, például :\\?\C:\". Az eszköznév támogatása a .NET Framework 4.6.2-ben lett hozzáadva.
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.
Az Path osztály legtöbb tagja nem kommunikál a fájlrendszerrel, és nem ellenőrzi az elérésiút-sztring által megadott fájl meglétét.
Path az elérésiút-sztringet ChangeExtensionmódosító osztálytagoknak nincs hatása a fájlrendszerben lévő fájlok nevére.
Egyes Path tagok ellenőrzik egy megadott elérésiút-sztring tartalmát, és ha a sztring ArgumentException olyan karaktereket tartalmaz, amelyek nem érvényesek az elérésiút-sztringekben, a metódus által GetInvalidPathChars visszaadott karakterekben meghatározottak szerint. Az Windows-alapú asztali platformokon például az érvénytelen elérési utak karakterei lehetnek idézőjelek ("), kisebbek (<), nagyobbak(>), cső (|), backspace (\b), null (\0) és Unicode karakterek 16–18 és 20–25 között. Ez az érvényesítési viselkedés .NET verziók között változik:
A .NET-keretrendszerben: Minden olyan
Pathtag, amely argumentumként egy elérési utat használ, ArgumentException, ha érvénytelen elérésiút-karaktereket észlelnek..NET: GetFullPath az egyetlen tag, amely ArgumentException dob, ha a sztring érvénytelen elérésiút-karaktereket tartalmaz.
Az osztály tagjai lehetővé teszik az Path olyan gyakori műveletek gyors és egyszerű végrehajtását, mint például annak meghatározása, hogy egy fájlnévkiterjesztés egy elérési út része-e, és két sztringet egyetlen elérési útnévvé egyesít.
Az osztály minden tagja Path statikus, ezért elérési útpéldány nélkül hívható meg.
Note
Az elérési utat bemeneti sztringként elfogadó tagokban az elérési útnak jól formázottnak kell lennie, vagy kivételt kell emelnie. Ha például egy elérési út teljes mértékben minősített, de szóközzel kezdődik, az elérési út nem lesz levágva az osztály metódusaiban. Ezért az elérési út hibás, és kivétel keletkezik. Hasonlóképpen, az elérési utak vagy útvonalak kombinációja nem minősíthető teljes mértékben kétszer. A "c:\temp c:\windows" például a legtöbb esetben kivételt is jelez. Győződjön meg arról, hogy az elérési utak megfelelően vannak formázva egy elérésiút-sztringet elfogadó metódusok használatakor.
Az elérési utat elfogadó tagokban az elérési út egy fájlra vagy csak egy könyvtárra hivatkozhat. A megadott elérési út a kiszolgáló és a megosztás neve relatív elérési útjára vagy univerzális elnevezési konvenciós (UNC) elérési útjára is hivatkozhat. Az alábbiak például elfogadható elérési utak:
"c:\\MyDir\\MyFile.txt" c#-ban, vagy "c:\MyDir\MyFile.txt" a Visual Basic.
A C#-ban a "c:\\MyDir" vagy a "c:\MyDir" a Visual Basic.
"MyDir\\MySubdir" a C#-ban, vagy "MyDir\MySubDir" a Visual Basic.
"\\\MyServer\\MyShare" a C#-ban, vagy "\\MyServer\MyShare" a Visual Basic.
Mivel ezek a műveletek sztringeken vannak végrehajtva, lehetetlen ellenőrizni, hogy az eredmények minden forgatókönyvben érvényesek-e. A metódus például elemzi a GetExtension neki átadott sztringet, és visszaadja az adott sztring bővítményét. Ez azonban nem jelenti azt, hogy a lemezen létezik ilyen kiterjesztésű fájl.
A gyakori I/O-feladatok listáját a Gyakori I/O-feladatok című témakörben találja.
Mezők
| Name | Description |
|---|---|
| AltDirectorySeparatorChar |
Platformspecifikus alternatív karaktert biztosít a címtárszintek elkülönítéséhez egy elérésiút-sztringben, amely egy hierarchikus fájlrendszer-szervezetet tükröz. |
| DirectorySeparatorChar |
Platformspecifikus karaktert biztosít a címtárszintek elkülönítéséhez egy elérésiút-sztringben, amely egy hierarchikus fájlrendszer-szervezetet tükröz. |
| InvalidPathChars |
Elavult.
Elavult.
Platformspecifikus karaktertömböt biztosít, amely nem adható meg az Path osztály tagjainak átadott elérésiút-sztringargumentumokban. |
| PathSeparator |
Platformspecifikus elválasztó karakter, amely a környezeti változók elérésiút-sztringjeinek elválasztására szolgál. |
| VolumeSeparatorChar |
Platformspecifikus kötetelválasztó karaktert biztosít. |
Metódusok
| Name | Description |
|---|---|
| ChangeExtension(String, String) |
Módosítja az elérésiút-sztring bővítményét. |
| Combine(ReadOnlySpan<String>) |
Sztringek sorozatát egyesíti egy elérési úton. |
| Combine(String, String, String, String) |
Négy sztringet egyesít egy elérési úton. |
| Combine(String, String, String) |
Három sztringet egyesít egy elérési úton. |
| Combine(String, String) |
Két sztringet egyesít egy elérési úton. |
| Combine(String[]) |
Sztringtömböt egyesít egy elérési úton. |
| EndsInDirectorySeparator(ReadOnlySpan<Char>) |
Olyan értéket ad vissza, amely jelzi, hogy az írásvédettként megadott elérési út könyvtárelválasztóban végződik-e. |
| EndsInDirectorySeparator(String) |
Olyan értéket ad vissza, amely jelzi, hogy a megadott elérési út egy könyvtárelválasztóban végződik-e. |
| Exists(String) |
Meghatározza, hogy a megadott fájl vagy könyvtár létezik-e. |
| GetDirectoryName(ReadOnlySpan<Char>) |
A megadott elérési út könyvtáradatait adja vissza, amelyet egy karaktertartomány jelöl. |
| GetDirectoryName(String) |
A megadott elérési út címtáradatait adja vissza. |
| GetExtension(ReadOnlySpan<Char>) |
Egy írásvédett karakterrel ábrázolt fájl elérési útjának kiterjesztését adja vissza. |
| GetExtension(String) |
A megadott elérésiút-sztring bővítményét adja vissza (beleértve a megadott elérésiút-sztring "." pontját is). |
| GetFileName(ReadOnlySpan<Char>) |
Egy írásvédett karakterrel ábrázolt fájl elérési útjának fájlnevét és kiterjesztését adja vissza. |
| GetFileName(String) |
A megadott elérésiút-sztring fájlnevét és kiterjesztését adja vissza. |
| GetFileNameWithoutExtension(ReadOnlySpan<Char>) |
A fájlnevet egy írásvédett karakterrel ábrázolt elérési út kiterjesztése nélkül adja vissza. |
| GetFileNameWithoutExtension(String) |
A megadott elérésiút-sztring fájlnevét adja vissza a bővítmény nélkül. |
| 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) |
A megadott elérési út sztringjének abszolút elérési útját adja vissza. |
| GetInvalidFileNameChars() |
Lekéri a fájlnevekben nem engedélyezett karaktereket tartalmazó tömböt. |
| GetInvalidPathChars() |
Olyan tömböt kap, amely az elérési útnevekben nem engedélyezett karaktereket tartalmazza. |
| GetPathRoot(ReadOnlySpan<Char>) |
Lekéri a gyökérkönyvtár adatait a megadott karaktertartományban található elérési útról. |
| GetPathRoot(String) |
Lekéri a gyökérkönyvtár adatait a megadott sztringben található elérési útról. |
| GetRandomFileName() |
Véletlenszerű mappanevet vagy fájlnevet ad vissza. |
| GetRelativePath(String, String) |
Relatív elérési utat ad vissza egyik elérési útról a másikra. |
| GetTempFileName() |
Létrehoz egy egyedileg elnevezett, nulla bájtos ideiglenes fájlt a lemezen, és visszaadja a fájl teljes elérési útját. |
| GetTempPath() |
Az aktuális felhasználó ideiglenes mappájának elérési útját adja vissza. |
| HasExtension(ReadOnlySpan<Char>) |
Meghatározza, hogy a megadott karaktertartomány által képviselt elérési út tartalmaz-e fájlnévkiterjesztést. |
| HasExtension(String) |
Meghatározza, hogy az elérési út tartalmaz-e fájlnévkiterjesztést. |
| IsPathFullyQualified(ReadOnlySpan<Char>) |
Olyan értéket ad vissza, amely jelzi, hogy a megadott karaktertartomány által képviselt fájl elérési útja rögzített-e egy adott meghajtóra vagy UNC-elérési útra. |
| IsPathFullyQualified(String) |
Olyan értéket ad vissza, amely jelzi, hogy a megadott fájl elérési útja egy adott meghajtóra vagy UNC-elérési útra van-e javítva. |
| IsPathRooted(ReadOnlySpan<Char>) |
Olyan értéket ad vissza, amely jelzi, hogy a megadott karaktertartomány, amely egy fájl elérési útját jelöli, tartalmaz-e gyökért. |
| IsPathRooted(String) |
Egy értéket ad vissza, amely jelzi, hogy a megadott elérésiút-sztring tartalmaz-e gyökért. |
| Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Négy elérésiút-összetevőt fűz össze egyetlen elérési útba. |
| Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Három elérési útösszetevőt fűz össze egyetlen elérési útba. |
| Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Két elérési útösszetevőt fűz össze egyetlen elérési útba. |
| Join(ReadOnlySpan<String>) |
Egyetlen elérési útra fűzi össze az elérési utak egy részét. |
| Join(String, String, String, String) |
Négy elérési utat fűz össze egyetlen elérési útba. |
| Join(String, String, String) |
Három elérési utat fűz össze egyetlen elérési útba. |
| Join(String, String) |
Két elérési utat fűz össze egyetlen elérési útba. |
| Join(String[]) |
Egy elérési út tömbjének összefűzése egyetlen elérési útra. |
| TrimEndingDirectorySeparator(ReadOnlySpan<Char>) |
Levág egy záró könyvtárelválasztót a megadott elérési út gyökerén túl. |
| TrimEndingDirectorySeparator(String) |
Levág egy záró könyvtárelválasztót a megadott elérési út gyökerén túl. |
| TryJoin(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>, Span<Char>, Int32) |
Három elérési útösszetevő összefűzésére tett kísérlet egyetlen előre megadott karaktertartományra, és egy értéket ad vissza, amely jelzi, hogy a művelet sikeres volt-e. |
| TryJoin(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Span<Char>, Int32) |
Két elérési útösszetevő összefűzésére tett kísérlet egyetlen előre megadott karaktertartományba, és egy értéket ad vissza, amely jelzi, hogy a művelet sikeres volt-e. |