رد جديد  مشاركة جديدة 
التعامل مع الملفات File Stream - دروس سى شارب C# - دروس السى شارب C# (التعامل مع الملفات File Stream دروس سى شارب C#)
الكاتب الرسالة
صور سيارات رووووووعه
الحريف
عضو مسجل خطر


المشاركات : 267
مجموعة : مسجل خطر
الإنتساب : Sep 2007
الحالة : غير متصل
السمعة : 0
الرد : #1
التعامل مع الملفات File Stream - دروس سى شارب C# - دروس السى شارب C#

التعامل مع الملفات File Stream - دروس سى شارب C# - دروس السى شارب C#
التعامل مع الملفات File Stream

<!-------------------><!--مقطع البدايه----->

<!--------------------><!--الخبر الرئيسي----->

بسم الله الرحمن الرحيم
أحد الإمكانيات الهامة في أي لغة برمجة هي التعامل مع الملفات, ففي هذا الدرس سنناقش التعامل مع الملفات في الـ c#.

لكي تتعامل مع الملفات عن طريق الـ C# فإنك تحتاج إلى System.IO namespace. بحيث أن هذا الـ namespace يحتوي على 3 classes هامة في التعامل مع الملفات و كل منها يستخدم لغرض معين
1-
FileStream
: يستخدم مع كلا الحالتين القراءة والكتابة في الملف.

2-
StreamWriter
: للكتابة في الملف .

3-
StreamReader
:للقراءة من الملف.

والـ syntax الخاص بكل منها كالتالي:
1-FileStream(string path, System.IO.FileMode mode,System.IO.FileAccess access)

بحيث أن path هي مسار الملف المراد فتحه أو إنشاءه,

و mode
هي إما
create عندما نريد إنشاء ملف في المسار أو open عندما نريد فتح الملف الموجود بالمسار

وأخيرا access هي إما write
عندما نريد الكتابة داخل الملف أو
read عندما نريد القراءة منه .


[LEFT ALIGN=RIGHT]2-StreamWriter (string path)
[LEFT ALIGN=RIGHT]3-StreamReader(string path)



يجب أن ألفت انتباهك إلى شيء هام :

وهو أنه يجب كونك حذراً
عند فتح الملفات والقراءة منها, أو الكتابة فيها أي العمل مع I/O بشكل عام, و ذلك عن طريق استخدام Exception Handling لاصطياد أي خطأ قد يحدث أثناء التعامل معها.
و لا تنسى أن تقوم بإغلاق الملف دائما في الـ Finally block .

الآن نريد أن نكتب برنامج بواسطته ننشئ ملف نصي اسمه " test " داخل القرص الصلب C , أي سيكون مسار هذا الملف "C://test.txt" ونكتب بداخله العبارة التالية:
"working with file adds power to the language"
إذن لا بد أن نعمل عدة خطوات:
1- عملية إنشاء الملف تتطلب إنشاء object من الكلاس FileStream
2- وعملية الكتابة في هذا الملف تتطلب إنشاء object من الكلاس StreamWriter , ثم إغلاق الـ Writer .

كتبنا الأوامر داخل الـ Main مباشرة ً.

السطر 11 : وضعنا مسار الملف المراد إنشاؤه بداخل المتغير "fileName".
بعد ذلك لا حظ استخدامنا للـ try block بحيث أننا وضعنا الأوامر بداخلها لتفادي حصول أي خطأ .
السطر 14 :قمنا بتعريف object من الكلاس FileStream ومررنا له البارميتر حسب الـsyntax الذي ذكرناه في بداية الدرس ,مسار الملف ثم نوع العملية هي create ثم العملية داخل الملف هي write.
السطر 15 : قمنا بتعريف object من الكلاس StreamWriter أسميناه "s" لأن العملية كتابة كما ذكرت .
السطر 18 : الكائن "s" نستطيع أن نستخدم معه العديد من الدوال والتي من ضمنها WriteLine والتي تستخدم للكتابة داخل الملف الذي تم إنشاؤه.
السطر 19 : نقوم بتنظيف كل الـ buffer التي استخدمت عند الكتابة في الملف.
السطرين 20 -21 : تستخدم لإغلاق الـ object من الكلاسين FileStream و StreamWriter بعد أن تم استخدامهما.

السطرين 23 – 24 : لاصطياد أي Exception قد يحدث أثناء التعامل مع الملفات .

في الـ Finally block بالأسطر (26 - 31) : لابد من التأكد من إغلاق الملف.

بعد تشغيل البرنامج اذهب إلى القرص C ستجد ملف نصي test تم إنشاؤه ولو قمت بفتحه ستجد بداخله الجملة " working with file adds power to the language " .
أليست العملية سهلة للغاية .!!

بقي أن نقوم بعمل برنامج آخر بواسطته نفتح ملفاً نصياً موجوداً لديك على القرص على مسار معين ثم نقرأ ما بداخله ونقوم بطباعته على الشاشة، والخطوات :


1- عملية فتح الملف تتطلب إنشاء object من الكلاس FileStream كما فعلنا بالسابق.
2- وعملية القراءة في هذا الملف تتطلب إنشاء object من الكلاس StreamReader , ثم إغلاق الـ Readerr .

ولنفرض أن مسار الملف الذي نريد القراءة منه هو الملف الذي أنشأناه بالمثال السابق "C://test.txt" أو أي ملف نصي آخر موجود لديك على القرص تريد أن تقرأ منه البيانات فقط اكتب المسار له كاملا.

البرنامج :

[LEFT ALIGN=RIGHT]

السطر 14 : أنشأت object من الكلاس FileStream ولكن الاختلاف هنا في الـ FileMode فجعلناه open لأننا نريد فتح الملف, وفي الـ FileAccess بحيث جعلناه read لأننا نريد القراءة من الملف.
السطر 15: أنشأنا object من الكلاس StreamReader .
السطر 16 : الكائن "r" نستطيع أن نستخدم معه العديد من الدوال والتي من ضمنها الدالة ReadToEnd والتي فائدتها أن تقرأ محتويات كل الملف النصي وتعود بقيمة string , ولذا قمنا بتعريف المتغير string1 .
السطر 17: جملة طباعة عادية لمحتوى الملف.
ثم في الأسطر 18- 19: قمنا بإغلاق الـ Reader و الكائن من الكلاس FileStream .




التعامل مع الملفات File Stream - دروس سى شارب C# - دروس السى شارب C#

09-14-2007 10:16 PM
أرسل بريد للمستخدم إعرض جميع مشاركات العضو إقتبس الرسالة فى رد

عالم السيارات العاب سيارات

اربح من الفوركس شهاده دراسيه عبر الانترنت اتصل من الكمبيوتر مجانا
الحريف
عضو مسجل خطر


المشاركات : 267
مجموعة : مسجل خطر
الإنتساب : Sep 2007
الحالة : غير متصل
السمعة : 0
الرد : #2
RE: التعامل مع الملفات File Stream - دروس سى شارب C# - دروس السى شارب C#

منقووووول

09-14-2007 10:16 PM
أرسل بريد للمستخدم إعرض جميع مشاركات العضو إقتبس الرسالة فى رد
رد جديد  مشاركة جديدة 
التعامل مع الملفات File Stream - دروس سى شارب C# - دروس السى شارب C#

إحتمالات التقييم ...
المشاركة : الكاتب الردود : المشاهدات : آخر رد
  البرنامج الأول في C# - دروس سى شارب C# - دروس السى شارب C# الحريف 2 820 03-16-2009 02:03 AM
آخر رد: علاء الدين أحمد سليم
  الرجااااااااء المساعدة وبسرعة musabxbs 1 552 03-06-2008 11:27 PM
آخر رد: عاشقة السعاده
  Regular Expression --2 - دروس سى شارب C# - دروس السى شارب C# الحريف 1 918 09-14-2007 10:52 PM
آخر رد: الحريف
  Regular Expression --1 - دروس سى شارب C# - دروس السى شارب C# الحريف 1 992 09-14-2007 10:49 PM
آخر رد: الحريف
  مدخل إلى البرمجة غرضيّة التوجّه في السي شارب - دروس سى شارب C# - دروس السى شارب C# الحريف 1 988 09-14-2007 10:47 PM
آخر رد: الحريف
  ربط الفلاش بال #C - دروس سى شارب C# - دروس السى شارب C# الحريف 1 898 09-14-2007 10:45 PM
آخر رد: الحريف
  الدوال --2--#Methods in c - دروس سى شارب C# - دروس السى شارب C# الحريف 1 764 09-14-2007 10:43 PM
آخر رد: الحريف
  الدوال --1--#Methods in c - دروس سى شارب C# - دروس السى شارب C# الحريف 1 1,497 09-14-2007 10:40 PM
آخر رد: الحريف
  السيطرة على الأخطاء Exception Handling - دروس سى شارب C# - دروس السى شارب C# الحريف 1 558 09-14-2007 10:37 PM
آخر رد: الحريف
  المؤشرات في سي شارب - دروس سى شارب C# - دروس السى شارب C# الحريف 1 979 09-14-2007 10:35 PM
آخر رد: الحريف
  التحويل العلني - Explicit Conversion - دروس سى شارب C# - دروس السى شارب C# الحريف 1 688 09-14-2007 10:33 PM
آخر رد: الحريف
  تحويل الأنواع - التحويل الضمني - دروس سى شارب C# - دروس السى شارب C# الحريف 0 650 09-14-2007 10:28 PM
آخر رد: الحريف
  المتغيرات - Variables - دروس سى شارب C# - دروس السى شارب C# الحريف 2 814 09-14-2007 10:27 PM
آخر رد: الحريف
  أنواع البيانات – Data Types - دروس سى شارب C# - دروس السى شارب C# الحريف 1 663 09-14-2007 10:24 PM
آخر رد: الحريف
  البرنامج الأول في C# - دروس سى شارب C# - دروس السى شارب C# الحريف 0 775 09-14-2007 10:22 PM
آخر رد: الحريف

مشاهدة نسخة للطباعة
إرسال المشاركة لصديق
إشترك بالمشاركة | إضافة المشاركة للمفضلة

الذهاب إلى :

 Quick Theme: