Path Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Melakukan operasi pada instans String yang berisi informasi jalur file atau direktori. Operasi ini dilakukan secara lintas platform.
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
- Warisan
-
Path
- Atribut
Contoh
Contoh berikut menunjukkan beberapa anggota utama kelas Path
.
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.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
Keterangan
Jalur adalah string yang menyediakan lokasi file atau direktori. Jalur tidak selalu menunjuk ke lokasi pada disk; misalnya, jalur mungkin memetakan ke lokasi dalam memori atau di perangkat. Format jalur yang tepat ditentukan oleh platform saat ini. Misalnya, pada beberapa sistem, jalur dapat dimulai dengan drive atau huruf volume, sementara elemen ini tidak ada di sistem lain. Pada beberapa sistem, jalur file dapat berisi ekstensi, yang menunjukkan jenis informasi yang disimpan dalam file. Format ekstensi nama file bergantung pada platform; misalnya, beberapa sistem membatasi ekstensi hingga tiga karakter (seperti FAT16 yang umumnya digunakan pada penyimpanan flash yang lebih kecil dan versi ISO 9660 yang lebih lama yang digunakan pada media optik), dan yang lain tidak. Platform saat ini juga menentukan sekumpulan karakter yang digunakan untuk memisahkan elemen jalur, dan sekumpulan karakter yang tidak dapat digunakan saat menentukan jalur. Karena perbedaan ini, bidang kelas Path
serta perilaku yang tepat dari beberapa anggota kelas Path
bergantung pada platform.
Jalur dapat berisi informasi lokasi absolut atau relatif. Jalur absolut sepenuhnya menentukan lokasi: file atau direktori dapat diidentifikasi secara unik terlepas dari lokasi saat ini. Jalur relatif menentukan lokasi parsial: lokasi saat ini digunakan sebagai titik awal saat menemukan file yang ditentukan dengan jalur relatif. Untuk menentukan direktori saat ini, panggil Directory.GetCurrentDirectory.
.NET Core 1.1 dan versi yang lebih baru dan .NET Framework 4.6.2 dan versi yang lebih baru juga mendukung akses ke objek sistem file yang merupakan nama perangkat, seperti "\\?\C:\".
Untuk informasi selengkapnya tentang format jalur file di Windows, lihat format jalur file pada sistem Windows.
Sebagian besar anggota kelas Path
tidak berinteraksi dengan sistem file dan tidak memverifikasi keberadaan file yang ditentukan oleh string jalur.
Path
anggota kelas yang mengubah string jalur, seperti ChangeExtension, tidak berpengaruh pada nama file dalam sistem file.
Beberapa anggota Path
memvalidasi konten string jalur tertentu, dan melemparkan ArgumentException jika string berisi karakter yang tidak valid dalam string jalur, seperti yang didefinisikan dalam karakter yang dikembalikan dari metode GetInvalidPathChars. Misalnya, pada platform desktop berbasis Windows, karakter jalur yang tidak valid mungkin menyertakan tanda kutip ("), kurang dari (<), lebih besar dari (>), pipa (|), backspace (\b), null (\0), dan karakter Unicode 16 hingga 18 dan 20 hingga 25. Perilaku validasi ini bervariasi di antara versi .NET:
Pada versi .NET Framework dan .NET Core yang lebih lama dari 2.1: Semua anggota
Path
yang mengambil jalur sebagai argumen melemparkan ArgumentException jika mereka mendeteksi karakter jalur yang tidak valid.Pada .NET Core 2.1 dan versi yang lebih baru: GetFullPath adalah satu-satunya anggota yang melempar ArgumentException jika string berisi karakter jalur yang tidak valid.
Anggota kelas Path
memungkinkan Anda melakukan operasi umum dengan cepat dan mudah seperti menentukan apakah ekstensi nama file adalah bagian dari jalur, dan menggabungkan dua string ke dalam satu nama jalur.
Semua anggota kelas Path
bersifat statis dan oleh karena itu dapat dipanggil tanpa memiliki instans jalur.
Nota
Dalam anggota yang menerima jalur sebagai string input, jalur tersebut harus terbentuk dengan baik atau pengecualian dinaikkan. Misalnya, jika jalur sepenuhnya memenuhi syarat tetapi dimulai dengan spasi, jalur tidak dipangkas dalam metode kelas. Oleh karena itu, jalur cacat dan pengecualian dinaikkan. Demikian pula, jalur atau kombinasi jalur tidak dapat sepenuhnya memenuhi syarat dua kali. Misalnya, "c:\temp c:\windows" juga menimbulkan pengecualian dalam banyak kasus. Pastikan jalur Anda terbentuk dengan baik saat menggunakan metode yang menerima string jalur.
Di anggota yang menerima jalur, jalur dapat merujuk ke file atau hanya direktori. Jalur yang ditentukan juga dapat merujuk ke jalur relatif atau jalur Universal Naming Convention (UNC) untuk server dan berbagi nama. Misalnya, semua yang berikut ini adalah jalur yang dapat diterima:
"c:\\MyDir\\MyFile.txt" di C#, atau "c:\MyDir\MyFile.txt" di Visual Basic.
"c:\\MyDir" di C#, atau "c:\MyDir" di Visual Basic.
"MyDir\\MySubdir" di C#, atau "MyDir\MySubDir" di Visual Basic.
"\\\MyServer\\MyShare" di C#, atau "\\MyServer\MyShare" di Visual Basic.
Karena semua operasi ini dilakukan pada string, tidak mungkin untuk memverifikasi bahwa hasilnya valid dalam semua skenario. Misalnya, metode GetExtension mengurai string yang Anda teruskan ke dalamnya dan mengembalikan ekstensi dari string tersebut. Namun, ini tidak berarti bahwa file dengan ekstensi tersebut ada di disk.
Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.
Bidang
AltDirectorySeparatorChar |
Menyediakan karakter alternatif khusus platform yang digunakan untuk memisahkan tingkat direktori dalam string jalur yang mencerminkan organisasi sistem file hierarkis. |
DirectorySeparatorChar |
Menyediakan karakter khusus platform yang digunakan untuk memisahkan tingkat direktori dalam string jalur yang mencerminkan organisasi sistem file hierarkis. |
InvalidPathChars |
Kedaluwarsa.
Kedaluwarsa.
Menyediakan array karakter khusus platform yang tidak dapat ditentukan dalam argumen string jalur yang diteruskan ke anggota kelas Path. |
PathSeparator |
Karakter pemisah khusus platform yang digunakan untuk memisahkan string jalur dalam variabel lingkungan. |
VolumeSeparatorChar |
Menyediakan karakter pemisah volume khusus platform. |
Metode
ChangeExtension(String, String) |
Mengubah ekstensi string jalur. |
Combine(ReadOnlySpan<String>) |
Menggabungkan rentang string ke dalam jalur. |
Combine(String, String) |
Menggabungkan dua string ke dalam jalur. |
Combine(String, String, String) |
Menggabungkan tiga string ke dalam jalur. |
Combine(String, String, String, String) |
Menggabungkan empat string ke dalam jalur. |
Combine(String[]) |
Menggabungkan array string ke dalam jalur. |
EndsInDirectorySeparator(ReadOnlySpan<Char>) |
Mengembalikan nilai yang menunjukkan apakah jalur, yang ditentukan sebagai rentang baca-saja, berakhir di pemisah direktori. |
EndsInDirectorySeparator(String) |
Mengembalikan nilai yang menunjukkan apakah jalur yang ditentukan berakhir di pemisah direktori. |
Exists(String) |
Menentukan apakah file atau direktori yang ditentukan ada. |
GetDirectoryName(ReadOnlySpan<Char>) |
Mengembalikan informasi direktori untuk jalur yang ditentukan yang diwakili oleh rentang karakter. |
GetDirectoryName(String) |
Mengembalikan informasi direktori untuk jalur yang ditentukan. |
GetExtension(ReadOnlySpan<Char>) |
Mengembalikan ekstensi jalur file yang diwakili oleh rentang karakter baca-saja. |
GetExtension(String) |
Mengembalikan ekstensi (termasuk periode ".") dari string jalur yang ditentukan. |
GetFileName(ReadOnlySpan<Char>) |
Mengembalikan nama file dan ekstensi jalur file yang diwakili oleh rentang karakter baca-saja. |
GetFileName(String) |
Mengembalikan nama file dan ekstensi string jalur yang ditentukan. |
GetFileNameWithoutExtension(ReadOnlySpan<Char>) |
Mengembalikan nama file tanpa ekstensi jalur file yang diwakili oleh rentang karakter baca-saja. |
GetFileNameWithoutExtension(String) |
Mengembalikan nama file dari string jalur yang ditentukan tanpa ekstensi. |
GetFullPath(String) |
Mengembalikan jalur absolut untuk string jalur yang ditentukan. |
GetFullPath(String, String) |
Mengembalikan jalur absolut dari jalur relatif dan jalur dasar yang sepenuhnya memenuhi syarat. |
GetInvalidFileNameChars() |
Mendapatkan array yang berisi karakter yang tidak diizinkan dalam nama file. |
GetInvalidPathChars() |
Mendapatkan array yang berisi karakter yang tidak diizinkan dalam nama jalur. |
GetPathRoot(ReadOnlySpan<Char>) |
Mendapatkan informasi direktori akar dari jalur yang terkandung dalam rentang karakter yang ditentukan. |
GetPathRoot(String) |
Mendapatkan informasi direktori akar dari jalur yang terkandung dalam string yang ditentukan. |
GetRandomFileName() |
Mengembalikan nama folder acak atau nama file. |
GetRelativePath(String, String) |
Mengembalikan jalur relatif dari satu jalur ke jalur lainnya. |
GetTempFileName() |
Membuat file sementara bernama nol-byte secara unik pada disk dan mengembalikan jalur lengkap file tersebut. |
GetTempPath() |
Mengembalikan jalur folder sementara pengguna saat ini. |
HasExtension(ReadOnlySpan<Char>) |
Menentukan apakah jalur yang diwakili oleh rentang karakter yang ditentukan menyertakan ekstensi nama file. |
HasExtension(String) |
Menentukan apakah jalur menyertakan ekstensi nama file. |
IsPathFullyQualified(ReadOnlySpan<Char>) |
Mengembalikan nilai yang menunjukkan apakah jalur file yang diwakili oleh rentang karakter yang ditentukan ditetapkan ke drive tertentu atau jalur UNC. |
IsPathFullyQualified(String) |
Mengembalikan nilai yang menunjukkan apakah jalur file yang ditentukan ditetapkan ke drive tertentu atau jalur UNC. |
IsPathRooted(ReadOnlySpan<Char>) |
Mengembalikan nilai yang menunjukkan apakah rentang karakter yang ditentukan yang mewakili jalur file berisi akar. |
IsPathRooted(String) |
Mengembalikan nilai yang menunjukkan apakah string jalur yang ditentukan berisi akar. |
Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Menggabungkan dua komponen jalur ke dalam satu jalur. |
Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Menggabungkan tiga komponen jalur ke dalam satu jalur. |
Join(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Menggabungkan empat komponen jalur ke dalam satu jalur. |
Join(ReadOnlySpan<String>) |
Menggabungkan rentang jalur ke dalam satu jalur. |
Join(String, String) |
Menggabungkan dua jalur ke dalam satu jalur. |
Join(String, String, String) |
Menggabungkan tiga jalur ke dalam satu jalur. |
Join(String, String, String, String) |
Menggabungkan empat jalur ke dalam satu jalur. |
Join(String[]) |
Menggabungkan array jalur ke dalam satu jalur. |
TrimEndingDirectorySeparator(ReadOnlySpan<Char>) |
Memangkas satu pemisah direktori berikutnya di luar akar jalur yang ditentukan. |
TrimEndingDirectorySeparator(String) |
Memangkas satu pemisah direktori berikutnya di luar akar jalur yang ditentukan. |
TryJoin(ReadOnlySpan<Char>, ReadOnlySpan<Char>, ReadOnlySpan<Char>, Span<Char>, Int32) |
Mencoba menggabungkan tiga komponen jalur ke rentang karakter yang telah dialokasikan sebelumnya, dan mengembalikan nilai yang menunjukkan apakah operasi berhasil. |
TryJoin(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Span<Char>, Int32) |
Mencoba menggabungkan dua komponen jalur ke satu rentang karakter yang telah dialokasikan sebelumnya, dan mengembalikan nilai yang menunjukkan apakah operasi berhasil. |
Berlaku untuk
Lihat juga
- I/O File dan Stream
- Cara: Membaca Teks dari File
- Cara: Menulis Teks ke File
- Cara: Membaca dan Menulis ke File Data yang Baru Dibuat
- format jalur file pada sistem Windows