مدیریت فایل در سی‌شارپ (File Handling)

تیم تحریریه 1403/10/01 0 14
لینک کوتاه https://zoheirsoftware.com/z/e827277fe |
مدیریت فایل در سی‌شارپ (File Handling),File System (سیستم فایل),Synchronous File Access (دسترسی همزمان به فایل)

مدیریت فایل در سی‌شارپ (File Handling)

مدیریت فایل یکی از مهارت‌های پایه در برنامه‌نویسی است که شامل توانایی ایجاد، خواندن، ویرایش، و حذف فایل‌ها و پوشه‌ها می‌شود.

در سی‌شارپ، این کارها توسط کلاس‌هایی در فضای نام System.IO انجام می‌شوند.

این کلاس‌ها ابزارهای قدرتمندی برای مدیریت فایل و سیستم فایل فراهم می‌کنند.


مدیریت فایل در سی‌شارپ به عملیات زیر تقسیم می‌شود:

  1. ایجاد فایل

    فایل جدیدی ایجاد می‌شود و داده‌ها در آن ذخیره می‌شوند.
  2. نوشتن در فایل

    می‌توان محتوا را به فایل اضافه کرد.
  3. خواندن از فایل

    اطلاعات موجود در فایل خوانده می‌شوند.
  4. حذف فایل

    فایل‌های غیرضروری را می‌توان حذف کرد.

 

مدیریت فایل در سی‌شارپ (File Handling)


جزئیات فنی مدیریت فایل در سی‌شارپ


کلاس File شامل متدهای استاتیک مانند WriteAllText، ReadAllText و Delete است که استفاده از آن‌ها ساده و کارآمد است.
کلاس‌های StreamReader و StreamWriter برای خواندن و نوشتن با جزئیات بیشتر استفاده می‌شوند.


مثال:

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string path = "example.txt";

        // ایجاد فایل و نوشتن داده در آن
        File.WriteAllText(path, "این یک فایل نمونه است.");

        // خواندن محتوا از فایل
        string content = File.ReadAllText(path);
        Console.WriteLine("محتوای فایل: " + content);

        // حذف فایل
        File.Delete(path);
        Console.WriteLine("فایل حذف شد.");
    }
}


در این مثال:

فایل example.txt ایجاد می‌شود و یک رشته در آن ذخیره می‌شود.
محتوا از فایل خوانده و نمایش داده می‌شود.
در نهایت، فایل حذف می‌شود.

 

 

 

🌟 آیا به دنبال یک فرصت عالی برای یادگیری برنامه‌نویسی هستید؟ 🚀

با دوره آموزشی سی‌شارپ ما، شما می‌توانید مهارت‌های خود را به سطح جدیدی ارتقا دهید! این دوره به‌طور کامل طراحی شده تا به شما کمک کند تا از مبتدی تا پیشرفته در دنیای برنامه‌نویسی سی‌شارپ پیش بروید.

👨‍🏫 چرا دوره ما را انتخاب کنید؟

  • محتوای جامع و عملی: با پروژه‌های واقعی و تمرینات عملی، یادگیری را به تجربه‌ای جذاب تبدیل کنید.
  • مدرس مجرب: از تجربه و دانش مدرس حرفه‌ای بهره‌مند شوید که شما را در هر مرحله از یادگیری راهنمایی می‌کنند.
  • پشتیبانی ۲۴/۷: هر زمان که سوالی داشتید، ما در کنار شما خواهیم بود تا به شما کمک کنیم.
  • دسترسی مادام‌العمر: به محتوای دوره دسترسی دائمی داشته باشید و هر زمان که خواستید، می‌توانید به آن مراجعه کنید.

💡 فرصت را از دست ندهید!

بایادگیری سی‌شارپ، می‌توانید در دنیای فناوری اطلاعات به یک متخصص تبدیل شوید و در پروژه‌های جذاب و چالش‌برانگیز شرکت کنید.

همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آینده‌ای روشن‌تر بردارید!

شرکت در دوره آموزش برنامه نویسی سی شارپ

 

 

File System (سیستم فایل)


سیستم فایل بخشی از سیستم عامل است که مسئول ذخیره و مدیریت فایل‌ها و پوشه‌ها است.

در سی‌شارپ، مدیریت سیستم فایل با استفاده از کلاس‌هایی مانند Directory، File و Path انجام می‌شود.

مدیریت پوشه‌ها در سی شارپ

  • ایجاد پوشه با متد CreateDirectory.

  • حذف پوشه با متد Delete.

  • بررسی وجود پوشه با متد Exists.

 

 


مثال:

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string folderPath = "MyFolder";
        string filePath = Path.Combine(folderPath, "myfile.txt");

        // ایجاد پوشه
        if (!Directory.Exists(folderPath))
        {
            Directory.CreateDirectory(folderPath);
            Console.WriteLine("پوشه ایجاد شد.");
        }

        // ایجاد فایل در پوشه
        File.WriteAllText(filePath, "این یک فایل داخل پوشه است.");
        Console.WriteLine("فایل ایجاد شد.");

        // نمایش فایل‌های داخل پوشه
        string[] files = Directory.GetFiles(folderPath);
        Console.WriteLine("فایل‌های داخل پوشه:");
        foreach (var file in files)
        {
            Console.WriteLine(file);
        }

        // حذف فایل و پوشه
        File.Delete(filePath);
        Directory.Delete(folderPath);
        Console.WriteLine("پوشه و فایل حذف شدند.");
    }
}


توضیحات:


از متد Path.Combine برای ترکیب مسیرها به صورت امن استفاده می‌شود.
متد Directory.GetFiles فایل‌های موجود در پوشه را لیست می‌کند.

 

مدیریت پوشه‌ها در سی شارپ


Synchronous File Access (دسترسی همزمان به فایل)


دسترسی همزمان (Synchronous File Access) عملیات‌هایی هستند که به ترتیب اجرا می‌شوند و برنامه تا زمان اتمام آن‌ها منتظر می‌ماند.

این روش برای عملیات‌های ساده و کوتاه مناسب است.

کلاس‌های مهم

  • StreamReader برای خواندن فایل.

  • StreamWriter برای نوشتن در فایل.


مثال:

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string path = "syncExample.txt";

        // نوشتن داده در فایل
        using (StreamWriter writer = new StreamWriter(path))
        {
            writer.WriteLine("مثال دسترسی همزمان به فایل.");
        }

        // خواندن داده از فایل
        using (StreamReader reader = new StreamReader(path))
        {
            string content = reader.ReadToEnd();
            Console.WriteLine("محتوای فایل: " + content);
        }

        // حذف فایل
        File.Delete(path);
    }
}


 Asynchronous File Access (دسترسی غیرهمزمان به فایل)

دسترسی غیرهمزمان (Asynchronous File Access) از ویژگی‌های مدرن C# است که از async/await برای جلوگیری از مسدود شدن برنامه استفاده می‌کند.

این روش برای عملیات‌هایی که مدت‌زمان زیادی طول می‌کشند مناسب است.

کلاس‌ها و متدها

  • File.ReadAllTextAsync

  • File.WriteAllTextAsync


مثال:

using System;
using System.IO;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        string path = "asyncExample.txt";

        // نوشتن غیرهمزمان در فایل
        await File.WriteAllTextAsync(path, "مثال دسترسی غیرهمزمان به فایل.");

        // خواندن غیرهمزمان از فایل
        string content = await File.ReadAllTextAsync(path);
        Console.WriteLine("محتوای فایل: " + content);

        // حذف فایل
        File.Delete(path);
    }
}


توضیحات:


عملیات غیرهمزمان باعث می‌شود که برنامه همچنان پاسخگو باقی بماند.
متدهای غیرهمزمان به صورت Task اجرا می‌شوند..

 


File Lifecycle Management (مدیریت چرخه حیات فایل)


چرخه حیات فایل شامل مراحلی است که فایل از زمان ایجاد تا حذف طی می‌کند. مدیریت صحیح چرخه حیات به جلوگیری از مشکلاتی مانند نشت منابع کمک می‌کند.

مراحل مدیریت چرخه حیات فایل  شامل موارد زیر است:

  • ایجاد فایل

    ایجاد فایل با استفاده از StreamWriter یا File.Create.
  • خواندن و نوشتن

    استفاده از StreamReader و StreamWriter برای دستکاری محتوا.
  • بستن منابع

    استفاده از بلوک using برای اطمینان از بسته شدن فایل.
  • حذف فایل

    پاک کردن فایل‌های غیرضروری.

 


مثال جامع:

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string path = "lifecycleExample.txt";

        try
        {
            // ایجاد فایل
            using (StreamWriter writer = new StreamWriter(path))
            {
                writer.WriteLine("این یک مثال از مدیریت چرخه حیات فایل است.");
                Console.WriteLine("فایل ایجاد شد.");
            }

            // خواندن فایل
            using (StreamReader reader = new StreamReader(path))
            {
                string content = reader.ReadToEnd();
                Console.WriteLine("محتوای فایل: " + content);
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("خطا: " + ex.Message);
        }
        finally
        {
            // حذف فایل
            if (File.Exists(path))
            {
                File.Delete(path);
                Console.WriteLine("فایل حذف شد.");
            }
        }
    }
}


نکات مهم 

  • مدیریت استثناها: هنگام کار با فایل‌ها، همیشه از بلوک‌های try-catch برای مدیریت خطا استفاده کنید.
  • استفاده از بلوک using: برای اطمینان از بسته شدن خودکار منابع مانند فایل‌ها.
  • پیشگیری از همزمانی (Concurrency): در صورت نیاز به دسترسی همزمان، از قفل یا متدهای غیرهمزمان استفاده کنید.

 

File Lifecycle Management (مدیریت چرخه حیات فایل)

 

مثال پروژه محور از  مدیریت فایل در سی‌شارپ

پروژه محور: دفترچه یادداشت ساده


ایجاد یک فایل متنی برای ذخیره یادداشت‌ها، نمایش آن‌ها و امکان حذف فایل.

کد:

using System;
using System.IO;

class Notebook
{
    static void Main()
    {
        string path = "notebook.txt";

        while (true)
        {
            Console.WriteLine("1. نوشتن یادداشت");
            Console.WriteLine("2. خواندن یادداشت‌ها");
            Console.WriteLine("3. حذف یادداشت‌ها");
            Console.WriteLine("4. خروج");
            Console.Write("انتخاب: ");
            string choice = Console.ReadLine();

            switch (choice)
            {
                case "1":
                    Console.Write("متن یادداشت: ");
                    string note = Console.ReadLine();
                    File.AppendAllText(path, note + Environment.NewLine);
                    Console.WriteLine("یادداشت ذخیره شد.");
                    break;

                case "2":
                    if (File.Exists(path))
                    {
                        Console.WriteLine("یادداشت‌ها:");
                        Console.WriteLine(File.ReadAllText(path));
                    }
                    else
                    {
                        Console.WriteLine("فایلی برای نمایش وجود ندارد.");
                    }
                    break;

                case "3":
                    if (File.Exists(path))
                    {
                        File.Delete(path);
                        Console.WriteLine("یادداشت‌ها حذف شدند.");
                    }
                    else
                    {
                        Console.WriteLine("فایلی برای حذف وجود ندارد.");
                    }
                    break;

                case "4":
                    return;

                default:
                    Console.WriteLine("انتخاب نامعتبر است.");
                    break;
            }
        }
    }
}


توضیح:


نوشتن یادداشت: اضافه کردن متن به فایل.
خواندن یادداشت‌ها: نمایش محتویات فایل.
حذف یادداشت‌ها: پاک کردن فایل یادداشت.
خروج: پایان برنامه.

کاربرد:

این برنامه به شما امکان می‌دهد یک دفترچه یادداشت ساده برای ذخیره و مدیریت متون داشته باشید.

دوره های مرتبط
آموزش برنامه نویسی سی شارپ,آموزش پروژه محور سی شارپ,آموزش مقدماتی تا پیشرفته سی شارپ,طراحی نرم افزار تحت ویندوز

آموزش برنامه نویسی سی شارپ

زبان شی گرایی حرفه ای سی شارپ یک زبان قدرتمند برای طراحی نرم افزار به شمار میرود.

999,000 تومان

2.1k بازدید
مشاهده

ارسال دیدگاه

برای ارسال نظر لطفا ورود یا ثبت نام کنید.