مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

اجرا شدن دوباره برنامه با رفرش

پنج شنبه, 16 مرداد 1399 01:43

اجرا شدن دوباره برنامه با رفرش

سلام دوستان من میخواستم یه برنامه بنویسم که یه فایلی رو دیلیت کنه از سیستم و بعد از هر بار رفرش کردن دوباره اون فایل کش ایجاد شده رو پاک کنه
پنج شنبه, 16 مرداد 1399 21:52

اگه اسم و مسیر فایلتون مشخصه و یا الگوی خاصی تو یه مسیر خاص داره می تونید از filesystemwatcher استفاده کنید

کسانی که از این پست تشکر کرده اند : محمد رضا,
پنج شنبه, 16 مرداد 1399 22:10
میشه بیشتر توضیح بدید؟
پنج شنبه, 16 مرداد 1399 22:34

فرض می کنم فایلتون تو مسیر c:\temp دخیره می شه

یه همچین کدی باید بزنید

FileSystemWatcher sw = new FileSystemWatcher("C:\temp");
            sw.NotifyFilter = NotifyFilters.LastAccess |
                                NotifyFilters.LastWrite |
                                NotifyFilters.FileName |
                                NotifyFilters.DirectoryName;
            sw.Changed += Sw_Changed;
            sw.Created += Sw_Created;
            sw.IncludeSubdirectories = true;
            sw.EnableRaisingEvents = true;

//////

   private void Sw_Created(object sender, FileSystemEventArgs e)
        {
            File.Delete(e.FullPath + "YourFileName");
        }

        private void Sw_Changed(object sender, FileSystemEventArgs e)
        {
            File.Delete(e.FullPath + "YourFileName");
        }

پنج شنبه, 16 مرداد 1399 22:54
دمت گرم خیلی خوب گفتی میشه یه توضیح مختصر هم بدید برای کد بالا
پنج شنبه, 16 مرداد 1399 22:54
دمت گرم خیلی خوب گفتی میشه یه توضیح مختصر هم بدید برای کد بالا
پنج شنبه, 16 مرداد 1399 23:00

SystemFileWatcher میاد تغییراتی که داخل یک مسیر مشخص از جمله Create,Delete,Chenage رو مانیتور می کنه و با هر تغییر مشخص شده یک Event به اصطلاح Fire میشه و می تونید از اون رخداد استفاده کنید

تو کد بالا که براتون نوشتم رخداد Change,Create هندل میشه و اگه فایلی تو مسیر انتخاب شدتون ساخت بشه و یا تغییری تو فایل های اون مسیر اتفاق بیوفته برنامه شما متوجه میشه و می تونید فایلهای مورد نظرتون رو حذف کنید

ارسال پاسخ برای این تاپیک