در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

کار با پوشه ها در زبان سی شارپ (آشنایی با کلاس Directory)

در زبان سی شارپ، می توان بوسیله کلاس Directory با پوشه ها کار کرد. همانند کلاس File، کلاس Directory یکسری متدهای static دارد که به اجازه انجام عملیات های مختلف بر روی پوشه ها را می دهد. در این مطلب به بررسی مهمترین متدهای این کلاس خواهیم پرداخت:


ایجاد پوشه


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

Directory.CreateDirectory("D:\\TestFolder\\Test");

این دستور، از بالاترین سطح شروع به ایجاد پوشه ها می کند. برای مثال، در کد بالا در صورت عدم وجود TestFolder این پوشه ایجاد شده و سپس پوشه Test داخل ایجاد می شود.


بررسی وجود یک پوشه


بوسیله متد Exists می توان بررسی کرد که یک پوشه وجود دارد یا خیر:

if (!Directory.Exists("D:\\Test"))
{
    Directory.CreateDirectory("D:\\Test");
}

حذف یک پوشه


دستور Delete در کلاس Directory برای حذف پوشه استفاده می شود:

if (!Directory.Exists("D:\\Test"))
{
    Directory.Delete("D:\\Test");
}

دریافت لیست فایل های موجود در یک پوشه


بوسیله دستور GetFiles می توان لیست فایل های داخل یک پوشه را بدست آورد. این دستور آرایه ای از رشته ها را بر میگرداند که شامل مسیر و نام فایل های داخل پوشه است:

var files = Directory.GetFiles("D:\\MyFolder");

foreach (var file in files)
{
    FileInfo info = new FileInfo(file);
    Console.WriteLine(info.Extension);
}

در کد بالا، یک کلاس جدید استفاده شده با نام FileInfo که بوسیله آن می توان اطلاعات یک فایل را بدست آورد و همچنین امکان خواندن و نوشتن داخل یک فایل را به ما می دهد.

در صورتی که بخواهیم لیست فایل ها را بر اساس یک الگوی خاص بدست آوریم، برای مثال فقط فایلی که پسوند txt دارند، به صورت زیر کد بالا را تغییر می دهیم:

var files = Directory.GetFiles("D:\\MyFolder", "*.txt");

foreach (var file in files)
{
    FileInfo info = new FileInfo(file);
    Console.WriteLine(info.Extension);
}

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

متد GetFiles پارامتر سومی نیز دریافت می کند که مشخص می کند، فقط فایل های داخل پوشه برگردانده شوند یا زیر پوشه ها نیز جستجو شوند:

var files = Directory.GetFiles("D:\\MyFolder", "*.txt",SearchOption.AllDirectories);

foreach (var file in files)
{
    FileInfo info = new FileInfo(file);
    Console.WriteLine(info.Extension);
}

بدست آوردن زیر پوشه های داخل یک پوشه


بوسیله دستور GetDirectories می توان لیست پوشه های داخل یک پوشه را بدست آورد:

var subDirectories = Directory.GetDirectories("D:\\MyFolder");

foreach (var directory in subDirectories)
{
    DirectoryInfo info = new DirectoryInfo(directory);
    Console.WriteLine(info.Parent);
}

در کد بالا، از کلاسی با نام DirectoryInfo استفاده کردیم که می توان بوسیله آن اطلاعاتی در مورد پوشه ها بدست آورد.

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

var subDirectories = Directory.GetDirectories("D:\\MyFolder","a*");

foreach (var directory in subDirectories)
{
    DirectoryInfo info = new DirectoryInfo(directory);
    Console.WriteLine(info.Parent);
}

برای مثال، کد بالا تنها پوشه هایی را بر میگرداند که نام آن ها با کاراکتر a شروع شود.

متدهای دیگری نیز در کلاس Directory وجود دارند، مانند متد Move که برای انتقال یک پوشه و محتویاتش به یک مسیر جدید استفاده می شود. امیدوارم که این مطلب مورد توجه دوستان عزیز قرار گرفته باشد. ITPRO باشید

نویسنده: حسین احمدی

منبع: ITPRO

#نکات_زبان_سی_شارپ #آموزش_سی_شارپ #کار_با_پوشه_ها_در_سی_شارپ #نکات_برنامه_نویسی #آموزش_برنامه_نویسی #کلاس_directory_در_سی_شارپ
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....