کلاس Path

کلاس Path کلاس مفیدی است که دارای متدهایی برای ایجاد مسیر فایل‌ها و پوشه‌ها می‌باشد. با وجودیکه می‌توان به سادگی از متدها و الحاق رشته‌ها برای نشان دادن مسیر استفاده کنید اما استفاده از کلاس Path کار با مسیرها را برای شما آسان می‌کند. در جدول زیر برخی از متدهای کلاس Path ذکر شده‌اند.

متدها توضیح
ChangeExtention() پسوند یک مسیر خاص را تغییرمی دهد.
Combine() آرایه‌ای از مسیرها را با هم ترکیب می‌کند.
GetDirectoryName() اطلاعات مربوط به پوشه را از رشته یک مسیر معین بر می‌گرداند.
GetExtension() پسوند را از رشته مسیر استخراج می‌کند.
GetFileName() نام فایل و پسوند را از رشته مسیر استخراج می‌کند.
GetFullPath() مسیر مطلق را بر می‌گرداند.
HasExtension() تعیین می‌کند که آیا یک مسیر پسوند دارد یا نه؟

()ChangeExtension

از متد ()ChangeExtension برای تعییر پسوند یک مسیر مشخص شده استفاده می‌شود. فرض کنید مسیر C:path.txt را در اختیار دارید. پسوند این مسیر .txt است. کد زیر نشان می‌دهد که چطور پسوند یک مسیر را تغییر دهیم :

string path = Path.ChangeExtension(@"C:path.txt", "bmp");
Console.WriteLine(path);
C:path.bmp

متد ()ChangeExtension دو آرگومان از نوع رشته را قبول می‌کند و یک مسیر اصلاح شده از نوع رشته را بر می‌گرداند. اولین آرگومان مسیر پسوندی است که می‌خواهیم تغییر دهیم و دومین آرگومان پسوندی است که می‌خواهیم جایگزین پسوند فعلی کنیم.

()Combine

از این متد برای ترکیب چندین مسیر استفاده می‌شود. به عنوان مثال، فرض کنید دو مسیر C:Documents و sample.txt را در اختیار دارید می‌خواهید این دو مسیر را با استفاده از متد ()Combine ترکیب کنید، نتیجه ترکیب C:\Document\sample.txt خواهد شد. توجه کنید که بک اسلش (\) به طور خودکار در بین دو مسیر قرار می‌گیرد.

string path1 = @"C:\Document";
string path2 = @"sample.txt";

string newPath = Path.Combine(path1, path2);

Console.WriteLine(newPath);
C:\Document\sample.txt

به جای استفاده از الحاق رشته‌ها می‌توان از متد Combine که ساده‌تر و کاراتر است استفاده نمایید.

()GetDirectoryName

مسیر پوشه مادر یک فایل را بر می‌گرداند. به مثال زیر توجه نمایید :

string path1 = @"C:Parentsample.txt";
string path2 = @"C:ParentChild";

string parent1 = Path.GetDirectoryName(path1);
string parent2 = Path.GetDirectoryName(path2);

Console.WriteLine(parent1);
Console.WriteLine(parent2);
C:Parent
C:Parent

همانطور که در مثال بالا مشاهده می‌کنید با وجودی که فایل sample.text و پوشه Child در داخل پوشه Parent قرار دارند، متد ()GetDiretoryName مسیر پوشه مادر (Parent) را بر می‌گرداند.

()GetExtension

این متد پسوند فایل که در یک مسیر مشخص وجود دارد را بر می‌گرداند :

string path1 = @"C:Parentsample.txt";
Console.WriteLine(Path.GetExtension(path));
.txt

()GetFileName

این متد نام کامل فایل (شامل پسوند) را بر می‌گرداند :

string path1 = @"C:Parentsample.txt";
Console.WriteLine(Path.GetFileName(path));
sample.txt

()GetFullPath

این متد مسیر کامل فایل را بر می‌گرداند، به مثال زیر توجه نمایید :

string path = "sample.txt";
Console.WriteLine(Path.GetFullPath(path));
C:UsersVSDocumentsVisual Studio 2010ProjectsSimpleProgramSimpleProgram
binReleasesample.txt

در مثال بالا، فایل sample.text در مسیر که برنامه در آن قرار دارد جستجو می‌شود، بدیهی است که اگر مسیر فایل اجرایی برنامه تغییر کند، خروجی متد بالا نیز تغییر خواهد کرد.

()HasExtension

اگر مسیر فایل شامل پسوند باشد خروجی این متد true و در غیر این صورت false می‌باشد، از این متد زمانی استفاده می‌شود که قصد داشته باشید تعیین کنید که آیا یک مسیر خاص به یک پوشه یا به یک فایل ختم می‌شود؟