خواندن و نوشتن روی فایل ها در C#.Net
1 0

خواندن و نوشتن روی فایل ها در C#.Net


خواندن و نوشتن روی فایل ها به صورت یک کلاس در C#.Net

در این پست قصد داریم تا با استفاده از یک کلاس روی فایل های با فرمت های txt یا html و...  با استفاده از C#.Net این نوع فایل ها رو بخوانیم و یا چیزی داخل آنها بنویسیم.

 

برای این کار کافیست یک کلاس به نام File ایجاد کنید و کدهای زیر را به آن اضافه کنید

/// <summary>
/// پیاده سازی متد های خواندن و نوشتن در فایل
/// </summary>
public static class File
{
    //بدنه متد خواند یک فایل در پروژه
    #region ReadFromFiles_Read(string pathName)

    /// <summary>
    /// متد خواندن فابل ها در پروژه
    /// این متد یک مسیر فیزیکی میگیرد
    /// </summary>
    /// <param name="pathName"></param>
    /// <returns></returns>
    public static string Read(string pathName)
    {
        //اگر مسیر نال بود امپتی برمیگردونه
        if (pathName == null)
        {
            return (string.Empty);
        }

        //تریم میکنیم
        pathName = pathName.Trim();

        //اگر باز خالی بود خالی برمیگردونه
        if (pathName == string.Empty)
        {
            return (string.Empty);
        }

        //اگر فایل وجود نداشت خالی برمیگردونه
        if (System.IO.File.Exists(pathName) == false)
        {
            return (string.Empty);
        }

        string strResult = string.Empty;

        //از استریم ریدر استفاده کردیم
        System.IO.StreamReader oStream = null;

        try
        {
            oStream =
                new System.IO.StreamReader(pathName, System.Text.Encoding.UTF8);

            strResult = oStream.ReadToEnd();
        }
        //بستن شی استریم ریدر
        finally
        {
            if (oStream != null)
            {
                oStream.Close();
                oStream.Dispose();
                oStream = null;
            }
        }
        // ریترن میشه
        return (strResult);
    }

    #endregion ReadFromFiles_Read(string pathName)

    //بدنه متد نوشتن در فایل های پروژه
    #region WriteToFiles_Write(string pathName, string text, bool append)

    /// <summary>
    /// متد رایت که یک مسیر و یک متن و یک بولین اپند میگیره
    /// </summary>
    /// <param name="pathName"></param>
    /// <param name="text"></param>
    /// <param name="append"></param>
    public static void Write(string pathName, string text, bool append)
    {
        //اگر مسیر نال باشه از متد خارج میشود
        if (pathName == null)
        {
            return;
        }

        //رشته حاوی مسیر تریم میشود
        pathName = pathName.Trim();

        //اگر امپتی شد از متد خارج میشود
        if (pathName == string.Empty)
        {
            return;
        }

        //پارامتر دوم متد که یک متن هست اگر نال بود برابر با امپتی میشود
        if (text == null)
        {
            text = string.Empty;
        }

        //از استریم رایتر استفاده کردیم
        System.IO.StreamWriter oStream = null;
        try
        {
            //نیو شدن استریم رایتر با پارامتر اول و سوم متد جاری
            oStream =
                new System.IO.StreamWriter(pathName, append, System.Text.Encoding.UTF8);
            //نوشتن در متن که پرامتر دوم متد جاری است
            oStream.Write(text);
        }
        //بستن شی استریم رایتر
        finally
        {
            if (oStream != null)
            {
                oStream.Close();
                oStream.Dispose();
                oStream = null;
            }
        }
    }

    #endregion Write(string pathName, string text, bool append)    
}

تمام جاهای که نیاز به توضیح دارد در بین کدها نوشته شده.

در این کلاس از  دو متد استاتیک ، یکی برای خواندن فایل و دیگری برای نوشتن روی فایل ها نوشته شده است.

 

متد Read

متد Read مسیر فایل را دریافت کرده و سپس آن را خوانده و در نهایت یک رشته String بر میگرداند.

توجه کنید که باید به صورت زیر مسیر فایل را بدهید

File.Read(Server.MapPath("~/file/file1.txt"));

 

متد Write

متد Write ابتدا مسیر فایل و سپس رشته ای که می خواهید اضافه کنید را دریافت می کند و در نهایت مشخص می کنید که می خواهید رشته جدید بروی  فایل اضافه شود یا جایگزین رشته قبلی شود که به صورت True و False می توانید مشخص کنید.

File.Write(Server.MapPath("~/file/file1.txt"),"newstr",true);

 

دانلود

نویسنده حسین فتحی
گروه مطلب C#.Net
نوع مطلب سورس کد و آموزش
تاریخ انتشار ۱۴ آبان ۱۳۹۵
منبع ایران گنج
تعداد نظرات ۰
قیمت کاربران مهمان
توضیح توجه:
  • زمانی که روی لینک دانلود کلیک می کنید لینک دانلود به مدت 24 ساعت معتبر خواهد بود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

نظر / سوال

Captcha