زبان قدرتمند سی شارپ شامل کلاس هایی است که از آنها میتوان برای کار با فایل ها و دایرکتوری ها استفاده نمود. با استفاده از این کلاس ها میتوان به سادگی فایل ها را ایجاد و در آنها تغییر ایجاد نمود. در این فصل با کلاس File آشنا خواهید شد.
کار با فایل ها و دایرکتوری ها
زبان برنامه نویسی سی شارپ از کلاس های زیر برای کار با فایلهای سیستم استفاده میکند. آنها می توانند برای دسترسی به دایرکتوری ها، دسترسی به فایل ها، باز کردن فایل ها برای خواندن و یا نوشتن، ایجاد فایل جدید و یا انتقال فایل از مکانی به مکان دیگر استفاده شوند.
-
File
: کلاس File یک کلاس استاتیک بوده که امکاناتی از قبیل کپی، انتقال، حذف، باز و بسته کردن برای خواندن و نوشتن، بررسی وجود فایل، اضافه کردن خطوطی به انتهای فایل متنی و .... را برای ما فراهم می آورد. -
FileInfo
: امکاناتی که در کلاس File وجود داشت برای کلاس FileInfo نیز وجود دارد. با استفاده از این کلاس می توان کنترل بیشتری بر روی عملیات خواندن و نوشتن انجام داد. -
Directory
: کلاس Directory یک کلاس استاتیک بوده که امکاناتی از قبیل ایجاد، انتقال، حذف و دسترسی به دایرکتوری ها را فراهم می آورد. -
DirectoryInfo
: این کلاس شامل متد هایی است که از آنها میتوان برای ایجاد، انتقال، حذف و دسترسی به دایرکتوری ها و زیر دایرکتوری ها استفاده نمود. -
Path
: کلاس Path یک کلاس استاتیک بوده که امکاناتی از قبیل به دست آوردن پسوند فایل ها، تغییر پسوند فایل ها، به دست آوردن مکان فیزیکی فایل و غیره را برای ما فراهم می آورد.
کلاس File
سی شارپ شامل کلاس استاتیک File
بوده که برای انجام عملیات ورودی و خروجی بر روی یک فایل فیزیکی استفاده می شود. این کلاس دارای متد های زیادی است که میتواند در انجام عملیات های ورودی و خروجی به ما کمک کند.
اضافه کردن مقداری متن به فایل
از متد ()AppendAllLines
میتوان برای افزودن چندین خط متن به یک فایل استفاده کرد. نمونه مثال زیر این عمل را نشان می دهد :
string dummyLines = "This is first line." + Environment.NewLine +
"This is second line." + Environment.NewLine +
"This is third line.";
//Opens DummyFile.txt and append lines. If file is not exists then create and open.
File.AppendAllLines(@"C:\DummyFile.txt", dummyLines.Split(Environment.NewLine.ToCharArray()).ToList<string>());
اضافه کردن یک رشته به فایل
از متد ()File.AppendAllText
برای افزودن یک رشته به انتهای یک فایل متنی استفاده کنید :
//Opens DummyFile.txt and append Text. If file is not exists then create and open.
File.AppendAllText(@"C:\ DummyFile.txt", "This is File testing");
بازنویسی متون یک فایل
از متد ()File.WriteAllText
برای نوشتن متون داخل یک فایل استفاده کنید. دقت داشته باشید که این متد ، متن مورد نظر را به انتهای فایل اضافه نمیکند بلکه آن را جایگزین متون قبلی میکند :
//Opens DummyFile.txt and write texts. If file is not exists then create and open.
File.WriteAllText(@"C:\DummyFile.txt", "This is dummy text");
نمونه مثال زیر عملیاتهای مختلفی را با استفاده از کلاس File نشان میدهد :
//Check whether file is exists or not at particular location
bool isFileExists = File.Exists(@"C:\ DummyFile.txt"); // returns false
//Copy DummyFile.txt as new file DummyFileNew.txt
File.Copy(@"C:\DummyFile.txt", @"D:\NewDummyFile.txt");
//Get when the file was accessed last time
DateTime lastAccessTime = File.GetLastAccessTime(@"C:\DummyFile.txt");
//get when the file was written last time
DateTime lastWriteTime = File.GetLastWriteTime(@"C:\DummyFile.txt");
// Move file to new location
File.Move(@"C:\DummyFile.txt", @"D:\DummyFile.txt");
//Open file and returns FileStream for reading bytes from the file
FileStream fs = File.Open(@"D:\DummyFile.txt", FileMode.OpenOrCreate);
//Open file and return StreamReader for reading string from the file
StreamReader sr = File.OpenText(@"D:\DummyFile.txt");
//Delete file
File.Delete(@"C:\DummyFile.txt");
همانطور که مشاهده کردید می توان به سادگی از کلاس File
برای انجام عملیات بر روی فایل ها استفاده نمود. با این حال اگر میخواهید در این باره از انعطاف بیشتری برخوردار باشید از کلاس FileInfo
استفاده کنید.