Path.Combine-Methode
Kombiniert zwei Pfadzeichenfolgen.
Namespace: System.IO
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Shared Function Combine ( _
path1 As String, _
path2 As String _
) As String
'Usage
Dim path1 As String
Dim path2 As String
Dim returnValue As String
returnValue = Path.Combine(path1, path2)
public static string Combine (
string path1,
string path2
)
public:
static String^ Combine (
String^ path1,
String^ path2
)
public static String Combine (
String path1,
String path2
)
public static function Combine (
path1 : String,
path2 : String
) : String
Parameter
- path1
Der erste Pfad.
- path2
Der zweite Pfad.
Rückgabewert
Eine Zeichenfolge mit dem kombinierten Pfad. Wenn einer der beiden angegebenen Pfade eine Zeichenfolge der Länge 0 ist, gibt diese Methode den anderen Pfad zurück. Wenn path2 einen absoluten Pfad enthält, gibt diese Methode path2 zurück.
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
path1 oder path2 enthalten mindestens eins der in InvalidPathChars definierten ungültigen Zeichen oder ein Platzhalterzeichen. |
|
path1 oder path2 ist NULL (Nothing in Visual Basic). |
Hinweise
Wenn path1 kein Laufwerkverweis ist (d. h. "C:" oder "D:") und nicht mit einem in definierten DirectorySeparatorChar gültigen Trennzeichen endet, wird AltDirectorySeparatorChar oder VolumeSeparatorChar, DirectorySeparatorChar vor der Verkettung an path1 angefügt.
Wenn path2 kein Stammverzeichnis enthält (wenn path2 beispielsweise nicht mit einem Trennzeichen oder einer Laufwerkangabe beginnt), ist das Ergebnis eine Verkettung der beiden Pfade mit einem dazwischen eingefügten Trennzeichen. Wenn path2 ein Stammverzeichnis enthält, wird path2 zurückgegeben.
Wenn path2 " c:\\ " lautet, wird diese Zeichenfolge an path1 angefügt und nicht nur path2 zurückgegeben, da Parameter mit Leerraum nicht analysiert werden.
Nicht alle für Verzeichnis- und Dateinamen ungültigen Zeichen werden von der Combine-Methode als nicht akzeptabel interpretiert, da diese Zeichen als Platzhalterzeichen bei der Suche verwendet werden können. Während beispielsweise Path.Combine("c:\\", "*.txt")
ungültig sein kann, wenn Sie daraus eine Datei erstellen möchten, ist dies als Suchzeichenfolge gültig. Sie wird daher von der Combine-Methode erfolgreich interpretiert.
Ein Beispiel für die Verwendung dieser Methode finden Sie im Beispielabschnitt weiter unten. In der folgenden Tabelle sind Beispiele für andere typische oder verwandte E/A-Aufgaben aufgeführt.
Aufgabe |
Beispiel in diesem Thema |
---|---|
Erstellen einer Textdatei. |
|
Schreiben in eine Textdatei. |
|
Lesen aus einer Textdatei. |
|
Abrufen einer Dateierweiterung. |
|
Abrufen des voll qualifizierten Pfades einer Datei. |
|
Abrufen des Dateinamens sowie der Dateierweiterung aus einem Pfad. |
|
Nur den Dateinamen aus einem Pfad abrufen. |
|
Nur den Verzeichnisnamen aus einem Pfad abrufen. |
|
Ändern der Erweiterung einer Datei. |
|
Dateien in einem Verzeichnis nach Größe sortieren. |
|
Bestimmen, ob ein Verzeichnis vorhanden ist. |
|
Bestimmen, ob eine Datei vorhanden ist. |
Beispiel
Im folgenden Codebeispiel wird die Verwendung der Combine-Methode auf einer Desktopplattform auf Grundlage von Windows veranschaulicht.
Imports System
Imports System.IO
Public Class ChangeExtensionTest
Public Shared Sub Main()
Dim path1 As String = "c:\temp"
Dim path2 As String = "subdir\file.txt"
Dim path3 As String = "c:\temp.txt"
Dim path4 As String = "c:^*&)(_=@#'\\^.*(.txt"
Dim path5 As String = ""
Dim path6 As String = Nothing
CombinePaths(path1, path2)
CombinePaths(path1, path3)
CombinePaths(path3, path2)
CombinePaths(path4, path2)
CombinePaths(path5, path2)
CombinePaths(path6, path2)
End Sub 'Main
Private Shared Sub CombinePaths(p1 As String, p2 As String)
Try
Dim combination As String = Path.Combine(p1, p2)
Console.WriteLine("When you combine '{0}' and '{1}', the result is: {2}'{3}'", p1, p2, Environment.NewLine, combination)
Catch e As Exception
Console.WriteLine("You cannot combine '{0}' and '{1}' because: {2}{3}", p1, p2, Environment.NewLine, e.Message)
End Try
Console.WriteLine()
End Sub 'CombinePaths
End Class 'ChangeExtensionTest
' This code produces output similar to the following:
'
' When you combine 'c:\temp' and 'subdir\file.txt', the result is:
' 'c:\temp\subdir\file.txt'
'
' When you combine 'c:\temp' and 'c:\temp.txt', the result is:
' 'c:\temp.txt'
'
' When you combine 'c:\temp.txt' and 'subdir\file.txt', the result is:
' 'c:\temp.txt\subdir\file.txt'
'
' When you combine 'c:^*&)(_=@#'\^.*(.txt' and 'subdir\file.txt', the result is:
' 'c:^*&)(_=@#'\^.*(.txt\subdir\file.txt'
'
' When you combine '' and 'subdir\file.txt', the result is:
' 'subdir\file.txt'
'
' You cannot combine '' and 'subdir\file.txt' because:
' Value cannot be null.
' Parameter name: path1
using System;
using System.IO;
public class ChangeExtensionTest {
public static void Main() {
string path1 = "c:\\temp";
string path2 = "subdir\\file.txt";
string path3 = "c:\\temp.txt";
string path4 = "c:^*&)(_=@#'\\^.*(.txt";
string path5 = "";
string path6 = null;
CombinePaths(path1, path2);
CombinePaths(path1, path3);
CombinePaths(path3, path2);
CombinePaths(path4, path2);
CombinePaths(path5, path2);
CombinePaths(path6, path2);
}
private static void CombinePaths(string p1, string p2) {
try {
string combination = Path.Combine(p1, p2);
Console.WriteLine("When you combine '{0}' and '{1}', the result is: {2}'{3}'",
p1, p2, Environment.NewLine, combination);
} catch (Exception e) {
Console.WriteLine("You cannot combine '{0}' and '{1}' because: {2}{3}",
p1, p2, Environment.NewLine, e.Message);
}
Console.WriteLine();
}
}
// This code produces output similar to the following:
//
// When you combine 'c:\temp' and 'subdir\file.txt', the result is:
// 'c:\temp\subdir\file.txt'
//
// When you combine 'c:\temp' and 'c:\temp.txt', the result is:
// 'c:\temp.txt'
//
// When you combine 'c:\temp.txt' and 'subdir\file.txt', the result is:
// 'c:\temp.txt\subdir\file.txt'
//
// When you combine 'c:^*&)(_=@#'\^.*(.txt' and 'subdir\file.txt', the result is:
// 'c:^*&)(_=@#'\^.*(.txt\subdir\file.txt'
//
// When you combine '' and 'subdir\file.txt', the result is:
// 'subdir\file.txt'
//
// You cannot combine '' and 'subdir\file.txt' because:
// Value cannot be null.
// Parameter name: path1
using namespace System;
using namespace System::IO;
void CombinePaths( String^ p1, String^ p2 )
{
try
{
String^ combination = Path::Combine( p1, p2 );
Console::WriteLine( "When you combine '{0}' and '{1}', the result is: {2}'{3}'", p1, p2, Environment::NewLine, combination );
}
catch ( Exception^ e )
{
Console::WriteLine( "You cannot combine '{0}' and '{1}' because: {2}{3}", p1, p2, Environment::NewLine, e->Message );
}
Console::WriteLine();
}
int main()
{
String^ path1 = "c:\\temp";
String^ path2 = "subdir\\file.txt";
String^ path3 = "c:\\temp.txt";
String^ path4 = "c:^*&)(_=@#'\\^.*(.txt";
String^ path5 = "";
String^ path6 = nullptr;
CombinePaths( path1, path2 );
CombinePaths( path1, path3 );
CombinePaths( path3, path2 );
CombinePaths( path4, path2 );
CombinePaths( path5, path2 );
CombinePaths( path6, path2 );
}
import System.*;
import System.IO.*;
public class ChangeExtensionTest
{
public static void main(String[] args)
{
String path1 = "c:\\temp";
String path2 = "subdir\\file.txt";
String path3 = "c:\\temp.txt";
String path4 = "c:^*&)(_=@#'\\^.*(.txt";
String path5 = "";
String path6 = null;
CombinePaths(path1, path2);
CombinePaths(path1, path3);
CombinePaths(path3, path2);
CombinePaths(path4, path2);
CombinePaths(path5, path2);
CombinePaths(path6, path2);
} //main
private static void CombinePaths(String p1, String p2)
{
try {
String combination = Path.Combine(p1, p2);
Console.WriteLine("When you combine '{0}' and '{1}', the result "
+ "is: {2}'{3}'", new Object[] { p1, p2,
Environment.get_NewLine(), combination });
}
catch (System.Exception e) {
Console.WriteLine("You cannot combine '{0}' and '{1}' because: "
+ "{2}{3}", new Object[] { p1, p2, Environment.get_NewLine(),
e.get_Message() });
}
Console.WriteLine();
} //CombinePaths
} //ChangeExtensionTest
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
Path-Klasse
Path-Member
System.IO-Namespace
Weitere Ressourcen
Datei- und Stream-E/A
Gewusst wie: Lesen aus einer Textdatei
Gewusst wie: Schreiben von Text in eine Datei