.فايلات شبيهة و مغلقة... (العربية (Arabic))

.فايلات شبيهة و مغلقة...

Friday, 20 February 2004

//

Less than a minute

حسنا, هل يمكن لأي شخص أن يشرح لماذا أستطيع ' أن أتأكد بوضوح إذا كان بإمكاني قفل ملف قبل القراءة منه FileSystemWatcher لتنتظر أن يتم إنشاء الملفات في مجلد قبل تشغيل الوظيفة - حسناً ولكن لا يبدو أن هناك طريقة سهلة للتأكد من أن الملف ' قابل للقراءة | ' | قبل البدء بقراءة FileStream ونلتقط الخطأ الذي يرمونه عندما يتم قفل الملف بواسطة عملية أخرى..مسك0..مثل ذلك.. مسك1..لكن هذا لا يبدو حقاً.. ومسك2.. لا أشعر بالشكل الصحيح.. لمسك3.. أنا خائف من فكرة استخدام الاستثناءات.. المسك4..التي أيضاً بطيئة جدًا.. للمسك5.. لتلك الأنواع من المهام.. والمسك6..لماذا لا..المسك7..لا تتدفق الملفات..امسك8..يمكن قراءة إختبار المفاتيح قبل فتح الملف..

        private static int m_ReadAttempts = 0;
        private string  ReadFileFromDisk(string filePath)
        {
            try
            {
                if(!File.Exists(filePath))
                {
                    MessageBox.Show("Sorry, but the file specified " + Environment.NewLine + filePath + Environment.NewLine + "Cannot be found");
                    return string.Empty;
                }
            using(FileStream fs = new FileStream(filePath,FileMode.Open,FileAccess.Read,FileShare.Read))
                {
                        using(StreamReader sr = new StreamReader(fs)) 
                        {
                            string tmpStr = sr.ReadToEnd();
                            sr.Close();
                            m_ReadAttempts =0;
                            return tmpStr;
                        }
                
                }        
            }
            catch(IOException ex)
            {
                    if(m_ReadAttempts < 10)
                {
                    Thread.Sleep(500);
                    m_ReadAttempts++;
                    return ReadFileFromDisk(filePath);
                }
                else
                {
                    throw ex;
                }
            }
        }
Finding related posts...
logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.