تا %60 تخفیف خرید برای 4 نفر با صدور مدرک فقط تا
00 00 00
در توسینسو تدریس کنید

بررسی قابلیت در دسترس بودن یک فایل در زبان سی شارپ

خیلی وقت ها، زمانی که قصد داریم از فایلی در زبان سی شارپ استفاده کنیم، به دلیل باز بودن فایل در برنامه دیگر و یا اصطلاحاً Lock بودن فایل توسط سایر Process ها با پیغام خطا مواجه می شویم، اما راهکاری وجود دارد که می توانیم ابتدا بررسی کنیم که فایل قابل دسترس هست یا نه. برای اینکار ابتدا یک Extension Method برای کلاس FileInfo تعریف می کنیم که داخل ساختار try..catch اقدام به باز کردن فایل کرده و در صورت موفق بودن عملیات مقدار true و در غیر اینصورت مقدار false را بر می گرداند:

public static class FileInfoExtensions
{
    public static bool IsLocked(this FileInfo f)
    {
        try
        {
            string fpath = f.FullName;
            FileStream fs = File.OpenWrite(fpath);
            fs.Close();
            return false;
        }

        catch (Exception) { return true; }
    }
}

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

FileInfo info = new FileInfo("D:\\data.dat");
if (!info.IsLocked())
{
    // your code
}

امیدوارم که این نکته مورد استفاده دوستان قرار گرفته باشد. ITPRO باشید

نظر شما
برای ارسال نظر باید وارد شوید.
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

افرادی که این مطلب را خواندند مطالب زیر را هم خوانده اند