Path Path Path Path Class

Definition

Führt Vorgänge für String-Instanzen aus, die Datei- oder Verzeichnispfadinformationen enthalten. Performs operations on String instances that contain file or directory path information. Diese Vorgänge werden plattformübergreifend durchgeführt. These operations are performed in a cross-platform manner.

public ref class Path abstract sealed
[System.Runtime.InteropServices.ComVisible(true)]
public static class Path
type Path = class
Public Class Path
Vererbung
PathPathPathPath
Attribute

Beispiele

Im folgenden Codebeispiel wird veranschaulicht einige der wichtigsten Elemente der Path Klasse.The following code example demonstrates some of the main members of the Path class.

using namespace System;
using namespace System::IO;
int 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() );
   Console::WriteLine( "\r\nThe set of invalid characters in a path is:" );
   Console::WriteLine( "(Note that the wildcard characters '*' and '?' are not invalid.):" );
   Collections::IEnumerator^ myEnum = Path::InvalidPathChars->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Char c =  *safe_cast<Char^>(myEnum->Current);
      Console::WriteLine( c );
   }
}

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
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

Hinweise

Ein Pfad ist eine Zeichenfolge, die den Speicherort einer Datei oder Verzeichnis bereitstellt.A path is a string that provides the location of a file or directory. Ein Pfad verweist nicht unbedingt auf einen Speicherort auf dem Datenträger; Beispielsweise kann ein Pfad an einem Speicherort im Arbeitsspeicher oder auf einem Gerät zugeordnet.A path does not necessarily point to a location on disk; for example, a path might map to a location in memory or on a device. Das genaue Format eines Pfads richtet sich nach der aktuellen Plattform.The exact format of a path is determined by the current platform. Beispielsweise kann bei einigen Systemen ein Pfad mit einem Buchstaben Laufwerk oder Volume beginnen, während dieses Element nicht in anderen Systemen vorhanden ist.For example, on some systems, a path can start with a drive or volume letter, while this element is not present in other systems. Bei einigen Systemen können Dateipfade Erweiterungen enthalten den Typ der in der Datei gespeicherten Informationen angeben.On some systems, file paths can contain extensions, which indicate the type of information stored in the file. Das Format der Erweiterung ist plattformabhängig; Klicken Sie z. B. einige Systeme beschränken Erweiterungen auf drei Zeichen, und andere nicht.The format of a file name extension is platform-dependent; for example, some systems limit extensions to three characters, and others do not. Die aktuelle Plattform bestimmt auch den Satz von Zeichen verwendet, um die Elemente eines Pfads zu trennen und die Gruppe von Zeichen, die beim Angeben von Pfaden verwendet werden kann.The current platform also determines the set of characters used to separate the elements of a path, and the set of characters that cannot be used when specifying paths. Aufgrund dieser Unterschiede, die Felder der Path sowie das genaue Verhalten einiger Member der Klasse die Path Klasse hängen von der Plattform ab.Because of these differences, the fields of the Path class as well as the exact behavior of some members of the Path class are platform-dependent.

Ein Pfad kann absolut oder relativ Standortinformationen enthalten.A path can contain absolute or relative location information. Absolute Pfade vollständig Geben Sie einen Speicherort: Datei oder des Verzeichnisses eindeutig unabhängig von der aktuellen Position identifiziert werden kann.Absolute paths fully specify a location: the file or directory can be uniquely identified regardless of the current location. Relative Pfade geben Sie einen teilweise Ort: der aktuelle Speicherort dient als Ausgangspunkt beim Suchen einer Datei mit einem relativen Pfad angegeben.Relative paths specify a partial location: the current location is used as the starting point when locating a file specified with a relative path. Um das aktuelle Verzeichnis zu ermitteln, rufen Directory.GetCurrentDirectory.To determine the current directory, call Directory.GetCurrentDirectory.

.NET Core 1.1 und höher und .NET Framework 4.6.2 und höher unterstützen auch den Zugriff auf Dateisystemobjekte, die Namen der Geräte, wie z. B. "\? \C:"..NET Core 1.1 and later versions and .NET Framework 4.6.2 and later versions also support access to file system objects that are device names, such as "\?\C:".

Weitere Informationen zu Path-Dateiformaten in Windows finden Sie unter Pfad Dateiformate auf Windows-Systemen.For more information on file path formats on Windows, see File path formats on Windows systems.

Die meisten Personen in der Path Klasse nicht mit dem Dateisystem und das Vorhandensein von einer Pfadzeichenfolge für den angegebene Datei nicht überprüfen.Most members of the Path class do not interact with the file system and do not verify the existence of the file specified by a path string. Path Klassenmember, die eine Pfadzeichenfolge, z. B. ändern ChangeExtension, wirken sich nicht auf den Namen der Dateien im Dateisystem.Path class members that modify a path string, such as ChangeExtension, have no effect on names of files in the file system. Path Elemente, jedoch überprüft den Inhalt einer angegebenen Pfadzeichenfolge und löst eine ArgumentException -Ausnahme aus, wenn die Zeichenfolge Zeichen, die nicht in Pfadzeichenfolgen gültig sind, die enthält von zurückgegebenen Zeichen gemäß der GetInvalidPathChars Methode.Path members do, however, validate the contents of a specified path string, and throw an ArgumentException exception if the string contains characters that are not valid in path strings, as defined in the characters returned from the GetInvalidPathChars method. Beispielsweise auf Windows-basierten desktop-Plattformen, ungültige Pfadzeichen sind Anführungszeichen ("), kleiner als (<), größer als (>), Pipe (|), Rücktaste (\b), Null (\0) und Unicode-Zeichen 16 bis 18 und 20 bis 25.For example, on Windows-based desktop platforms, invalid path characters might include quote ("), less than (<), greater than (>), pipe (|), backspace (\b), null (\0), and Unicode characters 16 through 18 and 20 through 25.

Die Mitglieder der Path Klasse ermöglichen es Ihnen, schnell und einfach Ausführen allgemeiner Vorgänge wie z. B. ermitteln, ob eine Dateinamenerweiterung Teil eines Pfads ist, und Kombinieren von zwei Zeichenfolgen in einem Pfadnamen.The members of the Path class enable you to quickly and easily perform common operations such as determining whether a file name extension is part of a path, and combining two strings into one path name.

Alle Mitglieder der Path -Klasse sind statisch und können daher ohne eine Instanz eines Pfads aufgerufen werden.All members of the Path class are static and can therefore be called without having an instance of a path.

Hinweis

Klicken Sie im Member, die einen Pfad als eine Eingabezeichenfolge akzeptieren, dass der Pfad muss wohlgeformt sein, oder eine Ausnahme ausgelöst.In members that accept a path as an input string, that path must be well-formed or an exception is raised. Wenn ein Pfad vollständig qualifiziert ist, aber mit einem Leerzeichen beginnt, wird der Pfad beispielsweise nicht in Methoden der Klasse gekürzt.For example, if a path is fully qualified but begins with a space, the path is not trimmed in methods of the class. Aus diesem Grund wird der Pfad ist falsch formatiert, und wird eine Ausnahme ausgelöst.Therefore, the path is malformed and an exception is raised. Auf ähnliche Weise kann keinen Pfad oder eine Kombination von Pfaden zweimal vollqualifiziert sein.Similarly, a path or a combination of paths cannot be fully qualified twice. Eine Ausnahme in den meisten Fällen wird in "c:\temp c:\windows" z. B. auch auslöst.For example, "c:\temp c:\windows" also raises an exception in most cases. Stellen Sie sicher, dass die Pfade wohlgeformt sind, bei Verwendung von Methoden, die eine Pfadzeichenfolge akzeptieren.Ensure that your paths are well-formed when using methods that accept a path string.

Bei Membern, die einen Pfad zu akzeptieren, kann der Pfad zu einer Datei oder nur ein Verzeichnis verweisen.In members that accept a path, the path can refer to a file or just a directory. Der angegebene Pfad kann auch auf einen relativen Pfad oder ein Universal Naming Convention (UNC)-Pfad für den Namen eines Servers und der freigabeeinstellungen verweisen.The specified path can also refer to a relative path or a Universal Naming Convention (UNC) path for a server and share name. Beispielsweise sind alle folgenden Pfade zulässig:For example, all the following are acceptable paths:

  • "c:\\MyDir\\MyFile.txt" in C#- oder "c:\MyDir\MyFile.txt" in Visual Basic."c:\\MyDir\\MyFile.txt" in C#, or "c:\MyDir\MyFile.txt" in Visual Basic.

  • "c:\\MyDir" in C#- oder "c:\MyDir" in Visual Basic."c:\\MyDir" in C#, or "c:\MyDir" in Visual Basic.

  • "" MyDir "\\MySubdir" in C#- oder "MyDir\MySubDir" in Visual Basic."MyDir\\MySubdir" in C#, or "MyDir\MySubDir" in Visual Basic.

  • "\\\\MyServer\\MyShare" in c# oder "\\MyServer\MyShare" in Visual Basic."\\\\MyServer\\MyShare" in C#, or "\\MyServer\MyShare" in Visual Basic.

Da alle diese Vorgänge für Zeichenfolgen ausgeführt werden, ist es unmöglich, stellen Sie sicher, dass die Ergebnisse in allen Szenarien gültig sind.Because all these operations are performed on strings, it is impossible to verify that the results are valid in all scenarios. Z. B. die GetExtension -Methode analysiert eine Zeichenfolge, die an sie übergeben werden, und gibt die Erweiterung aus dieser Zeichenfolge.For example, the GetExtension method parses a string that you pass to it and returns the extension from that string. Dies bedeutet jedoch nicht, dass eine Datei mit dieser Erweiterung auf dem Datenträger vorhanden ist.However, this does not mean that a file with that extension exists on the disk.

Eine Liste der allgemeinen e/a-Aufgaben, finden Sie unter e/a-Aufgaben.For a list of common I/O tasks, see Common I/O Tasks.

Felder

AltDirectorySeparatorChar AltDirectorySeparatorChar AltDirectorySeparatorChar AltDirectorySeparatorChar

Stellt ein plattformspezifisches, alternatives Zeichen bereit, das zur Trennung von Verzeichnisebenen in einer Pfadzeichenfolge verwendet wird und eine hierarchische Dateisystemorganisation wiedergibt. Provides a platform-specific alternate character used to separate directory levels in a path string that reflects a hierarchical file system organization.

DirectorySeparatorChar DirectorySeparatorChar DirectorySeparatorChar DirectorySeparatorChar

Stellt ein plattformspezifisches Zeichen bereit, das zur Trennung von Verzeichnisebenen in einer Pfadzeichenfolge verwendet wird und eine hierarchische Dateisystemorganisation wiedergibt. Provides a platform-specific character used to separate directory levels in a path string that reflects a hierarchical file system organization.

InvalidPathChars InvalidPathChars InvalidPathChars InvalidPathChars

Stellt ein plattformspezifisches Array von Zeichen bereit, die nicht in Pfadzeichenfolgenargumenten angegeben werden können, die an Member der Path-Klasse übergeben werden. Provides a platform-specific array of characters that cannot be specified in path string arguments passed to members of the Path class.

PathSeparator PathSeparator PathSeparator PathSeparator

Ein plattformspezifisches Trennzeichen, das zur Trennung von Pfadzeichenfolgen in Umgebungsvariablen verwendet wird. A platform-specific separator character used to separate path strings in environment variables.

VolumeSeparatorChar VolumeSeparatorChar VolumeSeparatorChar VolumeSeparatorChar

Stellt ein plattformspezifisches Volumetrennzeichen bereit. Provides a platform-specific volume separator character.

Methoden

ChangeExtension(String, String) ChangeExtension(String, String) ChangeExtension(String, String) ChangeExtension(String, String)

Ändert die Erweiterung einer Pfadzeichenfolge. Changes the extension of a path string.

Combine(String[]) Combine(String[]) Combine(String[]) Combine(String[])

Kombiniert ein Array von Zeichenfolgen zu einem Pfad. Combines an array of strings into a path.

Combine(String, String) Combine(String, String) Combine(String, String) Combine(String, String)

Kombiniert zwei Zeichenfolgen zu einem Pfad. Combines two strings into a path.

Combine(String, String, String) Combine(String, String, String) Combine(String, String, String) Combine(String, String, String)

Kombiniert drei Zeichenfolgen zu einem Pfad. Combines three strings into a path.

Combine(String, String, String, String) Combine(String, String, String, String) Combine(String, String, String, String) Combine(String, String, String, String)

Kombiniert vier Zeichenfolgen zu einem Pfad. Combines four strings into a path.

GetDirectoryName(String) GetDirectoryName(String) GetDirectoryName(String) GetDirectoryName(String)

Gibt die Verzeichnisinformationen für die angegebene Pfadzeichenfolge zurück. Returns the directory information for the specified path string.

GetDirectoryName(ReadOnlySpan<Char>) GetDirectoryName(ReadOnlySpan<Char>) GetDirectoryName(ReadOnlySpan<Char>) GetDirectoryName(ReadOnlySpan<Char>)
GetExtension(ReadOnlySpan<Char>) GetExtension(ReadOnlySpan<Char>) GetExtension(ReadOnlySpan<Char>) GetExtension(ReadOnlySpan<Char>)
GetExtension(String) GetExtension(String) GetExtension(String) GetExtension(String)

Gibt die Erweiterung der angegebenen Pfadzeichenfolge zurück. Returns the extension of the specified path string.

GetFileName(ReadOnlySpan<Char>) GetFileName(ReadOnlySpan<Char>) GetFileName(ReadOnlySpan<Char>) GetFileName(ReadOnlySpan<Char>)
GetFileName(String) GetFileName(String) GetFileName(String) GetFileName(String)

Gibt den Dateinamen und die Erweiterung der angegebenen Pfadzeichenfolge zurück. Returns the file name and extension of the specified path string.

GetFileNameWithoutExtension(ReadOnlySpan<Char>) GetFileNameWithoutExtension(ReadOnlySpan<Char>) GetFileNameWithoutExtension(ReadOnlySpan<Char>) GetFileNameWithoutExtension(ReadOnlySpan<Char>)
GetFileNameWithoutExtension(String) GetFileNameWithoutExtension(String) GetFileNameWithoutExtension(String) GetFileNameWithoutExtension(String)

Gibt den Dateinamen der angegebenen Pfadzeichenfolge ohne Erweiterung zurück. Returns the file name of the specified path string without the extension.

GetFullPath(String, String) GetFullPath(String, String) GetFullPath(String, String) GetFullPath(String, String)
GetFullPath(String) GetFullPath(String) GetFullPath(String) GetFullPath(String)

Gibt den absoluten Pfad für die angegebene Pfadzeichenfolge zurück. Returns the absolute path for the specified path string.

GetInvalidFileNameChars() GetInvalidFileNameChars() GetInvalidFileNameChars() GetInvalidFileNameChars()

Ruft ein Array ab, das die Zeichen enthält, die in Dateinamen nicht zulässig sind. Gets an array containing the characters that are not allowed in file names.

GetInvalidPathChars() GetInvalidPathChars() GetInvalidPathChars() GetInvalidPathChars()

Ruft ein Array ab, das die Zeichen enthält, die in Pfadnamen nicht zulässig sind. Gets an array containing the characters that are not allowed in path names.

GetPathRoot(ReadOnlySpan<Char>) GetPathRoot(ReadOnlySpan<Char>) GetPathRoot(ReadOnlySpan<Char>) GetPathRoot(ReadOnlySpan<Char>)

Ruft Informationen über das Stammverzeichnis aus dem Pfad ab, der in der angegebenen Zeichenspanne enthalten ist. Gets the root directory information from the path contained in the specified character span.

GetPathRoot(String) GetPathRoot(String) GetPathRoot(String) GetPathRoot(String)

Ruft die Informationen über das Stammverzeichnis des angegebenen Pfads ab. Gets the root directory information of the specified path.

GetRandomFileName() GetRandomFileName() GetRandomFileName() GetRandomFileName()

Gibt einen zufälligen Ordnernamen oder Dateinamen zurück. Returns a random folder name or file name.

GetRelativePath(String, String) GetRelativePath(String, String) GetRelativePath(String, String) GetRelativePath(String, String)
GetTempFileName() GetTempFileName() GetTempFileName() GetTempFileName()

Erstellt eine eindeutig benannte temporäre Datei auf dem Datenträger mit einer Größe von 0 Byte und gibt den vollständigen Pfad dieser Datei zurück. Creates a uniquely named, zero-byte temporary file on disk and returns the full path of that file.

GetTempPath() GetTempPath() GetTempPath() GetTempPath()

Gibt den Pfad des temporären Ordners des aktuellen Benutzers zurück. Returns the path of the current user's temporary folder.

HasExtension(ReadOnlySpan<Char>) HasExtension(ReadOnlySpan<Char>) HasExtension(ReadOnlySpan<Char>) HasExtension(ReadOnlySpan<Char>)
HasExtension(String) HasExtension(String) HasExtension(String) HasExtension(String)

Bestimmt, ob ein Pfad eine Dateierweiterung enthält. Determines whether a path includes a file name extension.

IsPathFullyQualified(String) IsPathFullyQualified(String) IsPathFullyQualified(String) IsPathFullyQualified(String)
IsPathFullyQualified(ReadOnlySpan<Char>) IsPathFullyQualified(ReadOnlySpan<Char>) IsPathFullyQualified(ReadOnlySpan<Char>) IsPathFullyQualified(ReadOnlySpan<Char>)
IsPathRooted(ReadOnlySpan<Char>) IsPathRooted(ReadOnlySpan<Char>) IsPathRooted(ReadOnlySpan<Char>) IsPathRooted(ReadOnlySpan<Char>)
IsPathRooted(String) IsPathRooted(String) IsPathRooted(String) IsPathRooted(String)

Ruft einen Wert ab, der angibt, ob die angegebene Pfadzeichenfolge einen Stamm enthält. Gets a value indicating whether the specified path string contains a root.

Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>) Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>) Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>) Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>)
Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>) Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>) Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>) Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>)
TryJoin(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Span<Char>, Int32) TryJoin(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Span<Char>, Int32) TryJoin(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Span<Char>, Int32) TryJoin(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Span<Char>, Int32)
TryJoin(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>, Span<Char>, Int32) TryJoin(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>, Span<Char>, Int32) TryJoin(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>, Span<Char>, Int32) TryJoin(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>, Span<Char>, Int32)

Gilt für:

Siehe auch