
یادگیری سی شارپ از مفاهیم پایه تا پروژه محور: شیگرایی، کار با SQL و LINQ، ORMها (Entity Framework)، ساخت پروژه مدیریت رستوران با گزارشات حرفهای و امکانات کامل!
مشاهده بیشتر
یادگیری MVC Core از مبانی تا پیشرفته: شیگرایی، Routing، Entity Framework، امنیت، تست یونیت، Razor، Ajax، و پروژههای کاربردی! یک دوره کامل برای تسلط بر توسعه وب با ASP.NET Core. به صورت حضوری و آنلاین!
مشاهده بیشترمشخصات مقاله
آموزش کار با فایل ها و پوشه ها در زبان C#
آموزش کار با فایل ها و پوشه ها در زبان C# :
در درس قبلی، به آموزش نحوه خواندن و نوشتن در فایل های ساده متنی توسط C# پرداختیم. ما برای آموزش از کلاس File Class برای اولین بار استفاده کردیم، اما این کلاس قابلیت های بسیار بیشتری از خواندن و نوشتن فایل های متنی دارد.
وقتی کلاس File Class را با کلاس Directory Class ترکیب کنید، می توانید بسیاری از کارهای فایل سیستمی مثل تغییر نام فایل ها و پوشه، تغییر مکان آن ها و حتی حذف و ... را انجام دهید.
در این بخش چندین مثال مختلف را برای انجام امور فایل ها نشان خواهیم داد. از آنجایی که کد این مثال ها بسیار ساده و راحت برای استفاده است، از ارائه توضیحات بیشتر خودداری شده است. شما در هنگام کار با فایل ها و پوشه ها، فقط بایستی از دو چیز اطمینان حاصل کنید :
اضافه کردن مجموعه کلاس های Sysytm.IO namespace به ابتدای فایل ها، به صورت زیر :
1 2 | using System.IO; <button></button> |
از طرف دیگر توجه داشته باشید که ما هیچ کار خاصی برای مدیریت خطاها یا exception در کدها انجام نداده ایم. البته در ابتدای هر مثال، وجود یا عدم وجود فایل مورد نظر جهت تغییر، چک می شود، اما در مواردی که مشکلاتی پیش بیاید، مدیریت خطا پیش بینی نشده است. در هنگام انجام عملیات های IO، مدیریت خطا یا exception یک مسئله مهم است و برای این منظور به بخش آموزش مدیریت خطاها در C# بروید.
در کلیه مثال های این درس، ما به صورت مستقیم از نام فایل ها و پوشه ها استفاده کرده و آدرس کامل ارائه نشده است. زیرا فرض بر این است که فایل EXE اجرایی برنامه C# در همان پوشه فایل می باشد. در بخشProject setting برنامه تان می توانید مشاهده کنید که فایل EXE در چه مسیری ایجاد می شود.
آموزش حذف یک فایل در زبان C# :
کد زیر نحوه حذف فایل ها در زبان C# را نشان داده است :
1 2 3 4 5 6 7 8 9 10 | 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(); <button></button> |
آموزش حذف یک پوشه در زبان C# :
کد زیر نحوه حذف پوشه ها در زبان C# را نشان داده است :
1 2 3 4 5 6 7 8 9 10 | 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(); <button></button> |
در کد مثال فوق، اگر پوشه testdir خالی نباشد، برنامه دچار خطا یا exeption می شود. چرا؟ به دلیل این که این نسخه از متد Delete() در کلاس Directory Class ، فقط بر روی پوشه های خالی کار می کند. برای جلوگیری از خطا، می توان کد متد را به صورت زیر تغییر دهید :
1 2 | Directory.Delete( "testdir" , true ); <button></button> |
پارامتر اضافه شده به متد فوق، خاطر نشان می کند که متد Delete() بازگشتی یا vecursive باشد. به این معنا که این متد ابتدا از پوشه های درون پوشه اصلی شروع کرده و با حذف آن ها، در انتها به سراغ پوشه اصلی می آید .
1 2 | Directory.Delete( "testdir" , true ); <button></button> |
آموزش تغییر نام یک فایل در زبان C# :
کد زیر، نحوه تغییر نام یک فایل به وسیله C# را نشان می دهد :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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(); } } } <button></button> |
اگر دقت کرده باشید، در کد مثال فوق، از تابع Move() برای تغییر نام فایل استفاده شده است. اما چرا از متد Rename() استفاده نکرده ایم، زیرا متد Move() درواقع همان کار متد Rename() را انجام می دهد.
آموزش تغییر نام یک پوشه در C# :
کد زیر، نحوه تغییر نام یک پوشه به وسیله C# را نشان می دهد :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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(); } } } <button></button> |
آموزش ایجاد یک پوشه جدید در زبان C# :
کد زیر، نحوه ایجاد یک پوشه جدید به وسیله C# را نشان می دهد :
1 2 3 4 5 6 7 8 9 10 11 12 | 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(); } } <button></button> |