English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C# يقدم مجموعة من الفئات لمستودع الملفات. يمكن استخدامها للوصول إلى الدلائل، الوصول إلى الملفات، فتح الملفات للقراءة أو الكتابة، إنشاء ملفات جديدة أو نقل ملفات من موقع إلى آخر وما إلى ذلك.
اسم الفئة | طريقة الاستخدام |
---|---|
File | File هي فئة Static توفر مختلف الوظائف مثل نسخ، إنشاء، نقل، حذف، فتح للقراءة أو الكتابة، تشفير أو فك تشفير، التحقق من وجود الملف، إضافة سطور أو نصوص إلى محتوى الملف، الحصول على وقت الولوج الأخير، إلخ. |
FileInfo | يقدم FileInfo نفس الوظائف مثل الفئة Static File. من خلال كتابة كود يدوي لقراءة أو كتابة البايتات من الملف، يمكنك التحكم بشكل أفضل في عمليات القراءة/الكتابة على الملف. |
Directory | الدوال هي فئة Static توفر وظائف مثل إنشاء، نقل، حذف، ووصول إلى الدوال الفرعية. |
DirectoryInfo | يقدم DirectoryInfo وصفات لإنشاء، نقل، حذف، ووصول إلى الدوال الفرعية. |
Path | Path هي فئة Static توفر بعض الوظائف مثل استرجاع امتداد الملف، تغيير امتداد الملف، استرجاع المسار المادي المطلق، وأيضاً الوظائف المتعلقة بالمسار. |
يحتوي C# على فئة Static File، تستخدم لتنفيذ عمليات i/o على نظام الملفات المادي. تتضمن فئة File الم静态ة العديد من الطرق المفيدة، التي يمكن استخدامها مع أي نوع من الملفات المادية (مثل الملفات الثنائية، ملفات النصوص، إلخ).
استخدام الفئة Static File للقيام ببعض العمليات السريعة على الملفات المادية. لا يُنصح باستخدام فئة File مع العديد من العمليات على العديد من الملفات لمشاكل الأداء. في هذه الحالة، استخدم فئة FileInfo.
الطريقة | طريقة الاستخدام |
---|---|
إضافة جميع الأسطر | إضافة سطر إلى الملف، ثم إغلاقه. إذا لم يكن الملف المحدد موجودًا، فإن هذا الطريقة ستقوم بإنشاء ملف، وكتابة السطر المحدد في الملف، ثم إغلاقه. |
إضافة جميع النصوص | فتح ملف، وإضافة النص المحدد إلى الملف، ثم إغلاقه. إذا لم يكن الملف موجودًا، فإن هذا الطريقة ستقوم بإنشاء ملف، وكتابة النص المحدد في الملف، ثم إغلاقه. |
إضافة نص | إنشاء StreamWriter، الذي سيضيف نص الترميز UTF-8 إلى الملف الموجود، أو إذا لم يكن الملف المحدد موجودًا، فسيضيف إلى الملف الجديد. |
نسخ | نسخ ملف موجود إلى ملف جديد. لا يسمح بتغطية الملفات الم同名. |
إنشاء | إنشاء أو تغطية الملف في المسار المحدد. |
إنشاء نص | إنشاء أو فتح ملف يستخدم الترميز UTF-8 للنصوص. |
فك التشفير | استخدام طريقة Encrypt لفك تشفير الملفات المشفرة بواسطة الحساب الحالي. |
حذف | حذف الملف المحدد. |
تشفير | تشفير الملفات، حتى يتمكن فقط الحسابات المستخدمة لتشفير الملفات من فك تشفير هذا الملف. |
يوجد | تحديد ما إذا كان الملف المحدد موجودًا أم لا. |
GetAccessControl | الحصول على ملف FileSecurity، الذي يحتوي على قائمة مرجعية للوصول (ACL) لمسار معين. |
Move | تحريك الملف المحدد إلى موقع جديد، وتقديم خيار اسم الملف الجديد. |
Open | فتح FileStream على مسار معين بتصريح القراءة والكتابة. |
ReadAllBytes | فتح ملف ثنائي، وإدخال محتويات الملف إلى مجموعة البايتات، ثم إغلاق الملف. |
ReadAllLines | فتح ملف نصي، قراءة جميع السطور في الملف، ثم إغلاق الملف. |
ReadAllText | فتح ملف نصي، قراءة جميع السطور في الملف، ثم إغلاق الملف. |
Replace | استبدال محتويات ملف معين بمحتوى ملف آخر، وإزالة الملف الأصلي، وإيجاد نسخة احتياطية لملف الاستبدال. |
WriteAllBytes | إنشاء ملف جديد، وكتابة مجموعة البايتات المحددة في الملف، ثم إغلاق الملف. إذا كان الملف المستهدف موجودًا، يتم استبداله. |
WriteAllLines | إنشاء ملف جديد، وكتابة مجموعة النصوص المحددة في الملف، ثم إغلاق الملف. |
WriteAllText | إنشاء ملف جديد، وكتابة النص المحدد في الملف، ثم إغلاق الملف. إذا كان الملف المستهدف موجودًا، يتم استبداله. |
استخدام طريقة AppendAllLines () لإضافة نص متعدد السطور إلى ملف معين، كما هو موضح أدناه.
string dummyLines = "This is first line." + Environment.NewLine + "This is second line." + Environment.NewLine + "This is third line."; //فتح DummyFile.txt وإضافة السطور. إذا لم يكن الملف موجودًا، يتم إنشاؤه وإضافته. File.AppendAllLines(@"C:\DummyFile.txt", dummyLines.Split(Environment.NewLine.ToCharArray()).ToList<string>());
استخدام طريقة File.AppendAllText () لإضافة النص إلى ملف سطر واحد، كما هو موضح أدناه.
//فتح DummyFile.txt وإضافة النص. إذا لم يكن الملف موجودًا، يتم إنشاؤه وإضافته. File.AppendAllText(@"C:\ DummyFile.txt", "This is File testing");
استخدامFile.WriteAllText()يتم كتابة النص في الملف. يرجى ملاحظة أن هذا لن يضيف النص، بل سيغطي النص الحالي.
مثال: تغيير النص الموجود
//فتح DummyFile.txt وكتابة النص. إذا لم يكن الملف موجودًا، يتم إنشاؤه وإعادة فتحه. File.WriteAllText(@"C:\DummyFile.txt", "This is dummy text");
مثال: كيفية استخدام فئة File الثابتة لتنفيذ عمليات مختلفة.
//تحقق من وجود الملف في موقع معين bool isFileExists = File.Exists(@"C:\ DummyFile.txt"); //يعود بالخطأ //نسخ DummyFile.txt إلى ملف جديد DummyFileNew.txt File.Copy(@"C:\DummyFile.txt", @"D:\NewDummyFile.txt"); //الحصول على وقت آخر زيارة للملف DateTime lastAccessTime = File.GetLastAccessTime(@"C:\DummyFile.txt"); //الحصول على وقت آخر إصدار للملف DateTime lastWriteTime = File.GetLastWriteTime(@"C:\DummyFile.txt"); //تحريك الملف إلى موقع جديد File.Move(@"C:\DummyFile.txt", @"D:\DummyFile.txt"); //فتح الملف وإرجاع FileStream لقراءة البايتات من الملف FileStream fs = File.Open(@"D:\DummyFile.txt", FileMode.OpenOrCreate); //فتح الملف وإرجاع StreamReader لقراءة النص من الملف StreamReader sr = File.OpenText(@"D:\DummyFile.txt"); //حذف الملف File.Delete(@"C:\DummyFile.txt");
لذلك، من السهل التعامل مع الملفات الفيزيائية باستخدام فئة File الثابتة. ولكن، إذا كنت ترغب في مزيد من المرونة، يمكنك استخدام فئة FileInfo. كما يمكن التعامل مع المجلدات الفيزيائية باستخدام فئة Directory الثابتة.
File هي صف ثابت، يمكن استخدامها لقراءةكتابة من الملفات المادية بكمية أقل من الكود.
تقدم فئة File الثابتة ميزات مثل إنشاء، قراءةكتابة، نسخ، نقل، حذف، إلى الملفات المادية.
تقدم فئة Directory الثابتة ميزات مثل إنشاء، نسخ، نقل، حذف، إلى الدلائل المادية بكمية أقل من الكود.
تقدم فئات FileInfo و DirectoryInfo نفس الميزات التي تقدمها فئات File و Directory الثابتة.