کلاس FileInfo

کلاس FileInfo کاملاً شبیه کلاس File است و هر دوی آنها دارای یک هدف برای دستکاری فایل‌ها می‌باشند. تفاوت آنها این است که کلاس fileInfo دارای متد استاتیک نیست بنابراین لازم است که ابتدا از آن نمونه ایجاد کنید. شیء ایجاد شده از FileInfo نشان دهنده یک فایل در دیسک است.

FileInfo file = new FileInfo(@"C:Filessample.txt");

سازنده مسیر فایل را قبول می‌کند. از آنجاییکه مسیر فایل را در داخل سازنده قرار داده‌ایم، فراخوانی متدهای ()Create() ،Delete() ،Move و ()Copy راحت‌تر است چون هنگام فراخوانی مجبور نیستیم مسیر مذکور را در هر کدام از متدها دوباره نویسی کنیم. به عنوان مثال در کد زیر تفاوت بین کلاس File و FileInfo وقتی که متد ()Create فراخوانی می‌شود نشان داده شده است :

FileInfo file = new FileInfo(@"C:Filessample.txt");
file.Create();
File.Create(@"C:Filessample.txt");

و در زیر تفاوت بین انتقال و کپی یک فایل نشان داده شده است :

file.CopyTo(@"C:Destsample.txt");
file.MoveTo(@"C:Destsample.txt");
File.Copy(@"C:Sourcesample.txt", @"C:Destsample.txt");
File.Move(@"C:Sourcesample.txt", @"C:Destsample.txt");

به این نکته توجه کنید که در شیء FileInfo ازمتدهای ()CopyTo و ()MoveTo به جای ()Copy و ()Move استفاده کرده‌ایم و فقط مقصد را نشان داده‌ایم چون از قبل و هنگام ایجاد شیء مبدأ را مشخص کرده‌ایم. برخی از متدهای کلاس FileInfo در جدول زیر ذکر شده‌اند.

متد توضیح
Create() یگ فایل جدید ایجاد می‌کند.
Delete() فایل وابسته به شیء FileInfo را حذف می‌کند.
CopyTo() فایل را در مسیر مقصد کپی می‌کند. یکی از سربارگذاری های این متد یک مقدار بولی دریافت می‌کند و نشان می‌دهد که آیا فایل موجود در مقصد را جایگزین کند.
MoveTo() فایل را به مقصد مشخصی انتقال می‌دهد.
Open() یک FileStream ایجاد می‌کند که می‌تواند در خواندن و نوشتن فایل مورد استفاده قرار گیرد.

برخی از خواص کلاس FileInfo در جدول زیر آمده است :

خاصیت توضیح
CreationTime زمان ایجاد فایل را نشان می‌دهد. نتیجه را به عنوان یک شیء DateTime بر می‌گرداند.
Directory یک DirectoryInfo را بر می‌گرداند که شامل اطلاعات پوشه‌ای است که فایل در آن قرار دارد.
Exists می‌گوید که آیا مسیر تعیین شده در سازنده در سیستم فایل موجود است یا نه؟
Extention نام پسوند یک فایل را به عنوان رشته بر می‌گرداند (“.txt”).
IsReadOnly می‌گوید که آیا فایل فقط خواندنی است یا نه؟
LastAccessTime آخرین زمان دسترسی به فایل را نشان می‌دهد. مقدار را به عنوان یک شیء DateTime بر می‌گرداند.
LastWriteTime آخرین زمانی که محتویات فایل دستکاری شده است را نشان می‌دهد. مقدار را به عنوان یک شیء DateTime بر می‌گرداند.
Length سایز فایل را بر حسب بایت بر می‌گرداند.
Name نام فایل را بر می‌گرداند (sample.txt).
FullName نام و مسیر کامل فایل را بر می‌گرداند (C:Filessample.txt).

شی FileInfo دارای خواص و متدهای بیشتری می‌باشد که به مرور در درس‌های آینده در مورد آنها بحث می‌کنیم.