Avatar ·

كيفية التحقق في C# من استخدام ملف بواسطة عملية أخرى؟

مرحبًا بالجميع. أنا مبتدئ في C# وواجهت مشكلة عند العمل مع الملفات. أحتاج إلى فتح ملفات نصية برمجيًا للقراءة، لكنها أحيانًا تكون مفتوحة بالفعل في برنامج آخر (مثل Notepad أو Excel). في هذه الحالات، يتعطل تطبيقي مع استثناء من نوع `IOException` ورسالة "لا يمكن للعملية الوصول إلى الملف لأنه قيد الاستخدام بواسطة عملية أخرى". إليك مثال على الكود الخاص بي: ```csharp string filePath = @"C:\Data\report.txt"; try { string content = File.ReadAllText(filePath); Console.WriteLine(content); } catch (IOException ex) { Console.WriteLine($"خطأ: {ex.Message}"); } ``` المشكلة هي أنني فقط ألتقط الاستثناء، لكنني أود معرفة مسبقًا ما إذا كان الملف مشغولًا، وإما انتظار تحريره أو عرض رسالة مفهومة للمستخدم. حاولت استخدام `File.Exists()`، لكن هذا لا يساعد — الملف موجود ولكنه مقفل. هل توجد طريقة قياسية في C# للتحقق مما إذا كان الملف قيد الاستخدام حاليًا؟