كاتب الموضوع : programmer_21
دوال معالجة الملفات :
GetAttr(PathName) : هى تحدد خصائص الملف وتعود بقيمة رقمية وهى تمثل كتالى:
Normal =0
Hidden=2
Acheive=32
ReadOnly=1
Kill(PathName) : لحذف الملفات
FileDateTime(PathName) : لتحديد وقت انشاء وزمن الملف
mkDir(PathName) : لانشاء مجلد جديد
RmDir(PathName) : لاحذف مجلد
كاتب المشاركة : omarfathel
قررت ان اضيف الكثير من المعلومات على كيفية معالجة الملفات من خلال الدوت نيت واردت عمل موضوع منفصل ولكنك بأت بالموضوع ولذا فساقوم بالتعقيب على موضوعك بشرح مسهب لما هو متوفر من دوال لمعالجة الملفات
ملاحظة: اولا وقبل كل شيء يجب وضع الجمل التالية في بداية الكود
1- الدالة AppendAllText
وهذه الدالة تقوم بفتح الملف للكتابة باضافة النص الذي تريده الى الملف ثم اغلاق الملف كما يلي
كود :
File.AppendAllText("c:/sample.dat", "hello there" + Environment.NewLine)
ويقوم هذا المثال باضافة الكلمة hello there مع اضافة سطر جديد الى الملف المفتوح
2-الدالة copy
تقوم هذه الدالة بنسخ الملف الى اسم ومكان جديد حسب المثال التالي
كود :
File.Copy("c:/sample.dat", "c:/sample1.ddt")
وبالتالي سيقوم بنسخ الملف sample.dat الى المكان الجديد وباسم sample1.ddt
ويمكنك استبدال الكود بالطريقة الاتية لغرض التأكد من ان الملف سيتم الكاتبة فوقه حتى لوكان موجود اصلا (اعني الملف Sample1.ddt)
كود :
File.Copy("c:/sample.dat", "c:/sample1.ddt", True)
3- الدالة create
تقوم هذه الدالة بانشاء الملف المحدد كما يلي
كود :
File.Create("c:/sample2.dat")
4- الدالة delete
تقوم هذه الدالة بمسح الملف المحدد واذا لم يكن موجودا فسيحدث خطأ اثناء التنفيذ ولذا يحبذ استخدام الدالة Exists التي سيلي ذكرها لاحقا ومثالنا على الدالة هو
كود :
File.Delete("c:/sample2.dat")
والافضل كتابة الكود بالطريقة التالية لتفادي حصول الاخطاء وكذلك يمكن استخدام نفس الطريقة بالنسبة لكل دوال معالجة الملفات
كود :
If File.Exists("c:/sample2.dat") Then
File.Delete("c:/sample2.dat")
End If
5- الدالة move
وتقوم هذه الدالة من اسمها بنقل الملف من مساره الحالي الى المسار المحدد
كما المثال
كود :
File.Move("c:/sample.dat", "c:/sample1.ddt")
6- الدالة open وهذه الدلة تقوم بفتح الملف للقراءة وحسب نوع الفتح كما في الامثلة التالية
كود :
File.Open("c:/sample1.ddt", FileMode.Append)
File.Open("c:/sample1.ddt", FileMode.Create
File.Open("c:/sample1.ddt", FileMode.Open)
File.Open("c:/sample1.ddt", FileMode.OpenOrCreate)
حيث ان طريقة الفتح الاولى تكون للاضافة الى الملف فقط
والطريقة الثانية تكون لتشكيل الملف لاول مرة اذا لم يكن موجودا
والطريقة الثالثة لغرض فتح الملف للقراءة والكتابة
والطريقة الرابعة لفتح الملف ولذا لم يكن موجودا فينشأ الملف
وكذلك الدوال
كود :
File.OpenRead()
File.OpenText()
File.OpenWrite()
فهي مشابهة للدالة السابقة ولكن تقوم بفتح الملف للقراءة فقط وكملف نصي وللكتابة فقط على التوالي
7- الدالة ReadAllBytes
تقوم هذه الدالة بقراءة الملف على شكل مصفوفة والمثال التي يوضح ذلك ويمكن لك تنفيذه ورؤية النتيجة بنفسك
كود :
Dim str As Byte()
Dim str1 As String
str = File.ReadAllBytes("c:/sample1.ddt")
str1 = ""
Dim i As Integer
For i = 0 To str.Length - 1
str1 += str(i).ToString()
Next
MessageBox.Show(str1)
من اخوات الدالة Readallbytes السابقة الذكر هي
ReadAllLines و الدالة
ReadAllText
وكما في المثال التالي
كود :
str1 = ""
Dim str2() As String
Dim s As String
str2 = File.ReadAllLines("c:/sample1.ddt")
For Each s In str2
str1 += s
Next
MessageBox.Show(str1)
str1 = ""
Dim str3 As String
str3 = File.ReadAllText("c:/sample1.ddt")
MessageBox.Show(str3)
وتقوم الدالة الاولى بقراءة الملف على شكل مصفوفة من الString ويتم قراءة المصفوفة كما هو موضح في الجزء الاول من المثال
وتقوم الدالة الثانية بقراءة جميع النص على شكل string ويمكن طباعته مباشرة بدون الحاجة الى مصفوفة وبلا هالدوخة الراس
الدالة WriteAllBytes تقوم هذه الدلة بكتابة على الملف من خلال قراءة مصفوفة تعطى للدالة
والدالة WritrAllLines تقوم بالكتابة داخل الملف على من خلال قراءة مصفوفة من string
والدالة WriteAlltext تقوم بالكتابة في الملف من خلال قراءة نص معين كما في الامثلة التالية
كود :
Dim str4 As String = "hello there there is text here and it will be written to a file"
Dim bb As Byte()
bb = File.ReadAllBytes("c:/sample1.ddt")
File.WriteAllBytes("c:/sample1.ddt", bb)
str2 = File.ReadAllLines("c:/sample1.ddt")
File.WriteAllLines("c:/sample1.ddt", str2)
File.WriteAllText("c:/sample1.ddt", str4)