مشخصات مقاله
-
2601
-
0.0
-
28661
-
0
-
0
آموزش کار با فایل ها و پوشه ها در زبان C#
کار با فایلها و پوشهها یکی از بخشهای کاربردی برنامهنویسی با C# است. اگر در مسیر یادگیری C# هستی، احتمالاً در پروژههای مختلف با موقعیتهایی روبهرو میشی که باید فایلها رو ایجاد، حذف، جابهجا یا تغییر نام بدی. در چنین شرایطی، آشنایی با امکانات مربوط به File و Directory میتونه کار با فایل سیستم رو خیلی سادهتر کنه.
در این مقاله، قدمبهقدم با چند نمونه از عملیات پرکاربرد روی فایلها و پوشهها در C# آشنا میشیم. مثالها ساده و کاربردی هستن و کمک میکنن هنگام کار با فایل سیستم، نحوه استفاده از کلاسهای مربوط به اون رو بهتر درک کنی.
آموزش کار با فایل ها و پوشه ها در زبان C# :
در درس قبلی، نحوه خواندن و نوشتن در فایلهای ساده متنی با استفاده از C# رو بررسی کردیم. برای این کار، برای اولین بار از کلاس File Class استفاده کردیم؛ اما این کلاس قابلیتهای خیلی بیشتری از خواندن و نوشتن فایلهای متنی داره.
وقتی کلاس File Class رو با کلاس Directory Class ترکیب میکنی، میتونی بسیاری از عملیات مربوط به فایل سیستم، مثل تغییر نام فایلها و پوشهها، جابهجا کردن اونها و حتی حذف کردنشون رو انجام بدی.
در این بخش چند مثال مختلف برای انجام عملیات روی فایلها و پوشهها میبینیم. از اونجا که کد این مثالها ساده و راحت برای استفاده هست، توضیحات اضافهای برای هرکدوم ارائه نمیکنیم. هنگام کار با فایلها و پوشهها فقط باید از دو نکته مطمئن بشی:
ابتدا باید مجموعه کلاسهای Sysytm.IO namespace رو در ابتدای فایل اضافه کنی، به شکل زیر:
using System.IO;
از طرف دیگه، توجه داشته باش که در این کدها مدیریت خاصی برای خطا یا exception انجام ندادهایم. البته در ابتدای هر مثال، وجود یا نبود فایل مورد نظر برای تغییر بررسی میشه، اما اگر مشکل دیگهای هنگام اجرای عملیات به وجود بیاد، مدیریت خطا در نظر گرفته نشده است. در عملیاتهای IO، مدیریت خطا یا exception اهمیت زیادی داره و برای آشنایی بیشتر با این موضوع میتونی به بخش آموزش C# و مبحث مدیریت خطاها در C# مراجعه کنی.
در تمام مثالهای این درس، مستقیماً از نام فایلها و پوشهها استفاده کردهایم و آدرس کامل اونها رو ننوشتیم. دلیلش اینه که فرض میکنیم فایل EXE اجرایی برنامه C# در همون پوشه فایل قرار داره. در بخش Project setting برنامهات میتونی ببینی فایل EXE در چه مسیری ایجاد میشه.
آموزش حذف یک فایل در زبان C# :
کد زیر نحوه حذف فایلها در زبان C# رو نشون میده:
if(File.Exists("test.txt"))
{
File.Delete("test.txt");
if(File.Exists("test.txt") == false)
Console.WriteLine("File deleted...");
}
else
Console.WriteLine("File test.txt does not yet exist!");
Console.ReadKey();
آموزش حذف یک پوشه در زبان C# :
کد زیر نحوه حذف پوشهها در زبان C# رو نشون میده:
if(Directory.Exists("testdir"))
{
Directory.Delete("testdir");
if(Directory.Exists("testdir") == false)
Console.WriteLine("Directory deleted...");
}
else
Console.WriteLine("Directory testdir does not yet exist!");
Console.ReadKey();
در کد مثال بالا، اگر پوشه testdir خالی نباشه، برنامه با خطا یا exeption مواجه میشه. دلیلش اینه که این نسخه از متد Delete() در کلاس Directory Class فقط روی پوشههای خالی کار میکنه. برای جلوگیری از این خطا، میتونی کد متد رو به شکل زیر تغییر بدی:
Directory.Delete("testdir", true);
پارامتری که به متد بالا اضافه شده، مشخص میکنه که متد Delete() به صورت بازگشتی یا vecursive عمل کنه. یعنی متد ابتدا از پوشههای داخل پوشه اصلی شروع میکنه، اونها رو حذف میکنه و در نهایت سراغ خود پوشه اصلی میاد.
Directory.Delete("testdir", true);
آموزش تغییر نام یک فایل در زبان C# :
کد زیر نحوه تغییر نام یک فایل با استفاده از C# رو نشون میده:
if(File.Exists("test.txt"))
{
Console.WriteLine("Please enter a new name for this file:");
string newFilename = Console.ReadLine();
if(newFilename != String.Empty)
{
File.Move("test.txt", newFilename);
if(File.Exists(newFilename))
{
Console.WriteLine("The file was renamed to " + newFilename);
Console.ReadKey();
}
}
}
اگر به کد مثال بالا دقت کنی، میبینی که برای تغییر نام فایل از تابع Move() استفاده شده. اما چرا از متد Rename() استفاده نکردهایم؟ چون متد Move() در واقع همون کاری رو انجام میده که از متد Rename() انتظار داریم.
آموزش تغییر نام یک پوشه در C# :
کد زیر نحوه تغییر نام یک پوشه با استفاده از C# رو نشون میده:
if(Directory.Exists("testdir"))
{
Console.WriteLine("Please enter a new name for this directory:");
string newDirName = Console.ReadLine();
if(newDirName != String.Empty)
{
Directory.Move("testdir", newDirName);
if(Directory.Exists(newDirName))
{
Console.WriteLine("The directory was renamed to " + newDirName);
Console.ReadKey();
}
}
}
آموزش ایجاد یک پوشه جدید در زبان C# :
کد زیر نحوه ایجاد یک پوشه جدید با استفاده از C# رو نشون میده:
Console.WriteLine("Please enter a name for the new directory:");
string newDirName = Console.ReadLine();
if(newDirName != String.Empty)
{
Directory.CreateDirectory(newDirName);
if(Directory.Exists(newDirName))
{
Console.WriteLine("The directory was created!");
Console.ReadKey();
}
}
اگر میخوای یادگیری C# رو از مباحث پایه و بهصورت اصولی ادامه بدی، میتونی در قدم بعدی سراغ دوره آموزش C# بری و مسیر یادگیری برنامهنویسی با این زبان رو ادامه بدی. این دوره میتونه نقطه شروع مناسبی برای آشنایی منسجمتر با مفاهیم و مباحث C# باشه.