(برنامه نویسی سی شارپ) استخراج اطلاعات فایل و پوشه ها در زبان #C (مهندسی برق _ الکترونیک)
پژوهشگر و نویسنده: ( افشین رشید )
نکته: کلاس های Class File و Class Directory که برای کار مستقیم با فایل ها و دستکاری پوشه ها، بسیار مناسب هستند. اما گاهی اوقات نیاز داریم تا اطلاعاتی را درباره یک فایل یا پوشه بدست آوریم، به جای این که لزوما آن را تغییر دهیم. در این گونه موارد نیز namespace IO.System مورد استفاده قرار میگیرد.
در کد مثال زیر، نحوه استفاده از کالس Class FileInfo را نشان می دهد :
static void Main(string[] args)
{
FileInfo fi = new FileInfo(System.Reflection.Assembly.
GetExecutingAssembly().Location);
if(fi != null)
Console.WriteLine(String.Format("Information about file: {0}, {1} bytes, last modified on
{2} - Full path: {3}", fi.Name, fi.Length, fi.LastWriteTime, fi.FullName));
Console.ReadKey();
}
در کد مثال فوق، ابتدا یک نمونه جدید از کالس Class FileInfo را ایجاد کرده ایم. این نمونه یک پارامتر که حاوی آدرس فایلی که می خواهیم راجع به آن، اطلاعات کسب کنیم را دریافت می کند. می توان نام هر فایل دلخواهی را در این پارامتر قرار داده اما ما برای جالب تر کردن مثال، آدرس فایل اجرایی EXE ای که در حال کامپایل برنامه کنونی ماست را ارسال کردیم. از آنجایی که ما به فایل اجرایی یک پروژه از طریق Console Application دسترسی نداریم این فایل بخشی از assembly Win Forms است، از یک Reflection برای دسترسی به آدرس assembly جاری استفاده کرده ایم. اما برای زمان حال، آن را در نظر داشته باشید تا در بخش جداگانه ای به آموزش آن بپردازیم. تا زمانی که یک نسخه از کلاس File Info داشته باشیم، می توانیم اطلاعات مختلفی را راجع به فایل ارسال شده به آن، دریافت کنیم. پروژه کد مثال قبل را اجرا نموده و خواهدید دید که خیلی ساده و مرتب ، کلاس File Info اطلاعات بسیار کاملی را راجع به فایل در اختیارمان قرار می دهد، حتی shortcut هایی که به متدهای کلاس File ارتباط دارند.
با استفاده از کالس FileInfo ، به اطلاعات یک فایل تنها دسترسی داشتیم. اما با استفاده از class کلاس Directory Info می توانیم اطالعات مربوط به تمامی فایل ها و پوشه های موجود در یک پوشه را بدست آوریم، که امکان بسیار مناسبی است.
پژوهشگر و نویسنده: دکتر ( افشین رشید )