در زبان سی شارپ، می توان بوسیله کلاس 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 که برای انتقال یک پوشه و محتویاتش به یک مسیر جدید استفاده می شود. امیدوارم که این مطلب مورد توجه دوستان عزیز قرار گرفته باشد.
بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب
حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ...
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود