التعامل مع الملفات و المجلدات من خلال System.IO

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

التعامل مع الملفات و المجلدات من خلال System.IO

مُساهمة من طرف أبوسجود في الأربعاء سبتمبر 04, 2013 1:13 pm

بسم الله الرحمن الرحيم

 درس اليوم عن كيفية التعامل مع الملفات و المجلدات من خلال مساحة الاسم System.IO ...حيث توفر كثيرا من الفئات و الاساليب التى تمكنك من التعامل مع الملفات و المجلدات ...

1_ الفئة Directory

باستخدام الفئة Directory يمكنك إنشاء أو  حذف أو نقل الخ وذلك على النحو التالى :

_ إنشاء المجلد testdir على القرص c باستخدام الكود التالى :

الرمز:
Directory.CreateDirectory("c:\testdir")
_ التأكد من وجود مجلد
الرمز:
Directory.Exists("c:\testdir")
_ نقل مجلد
الرمز:
Directory.Move("c:\testdir1\testdir2", "c:\testdir")
_حذف مجلد
الرمز:
Directory.Delete("c:\testdir1")
2_ الفئة File


وتستخدم تلك الفئة فى العمليات الاساسية للملفات إنشاء .حذف .نقل .....الخ و ذلك على النحو التالى :

_ إنشاء ملف نصى
الرمز:
File.Create("c:\testFile.txt")
_التأكد من وجود ملف
الرمز:
File.Exists("c:\testFile.txt")
_نقل ملف
الرمز:
File.Copy("c:\testFile.txt", "c:\testDir\testFile.txt")
_حذف ملف
الرمز:
File.Delete("c:\testDir\testFile.txt")
3_ الفئة FileStream


تقوم هذه الفئة بقراءة و كتابة البيانات عن طريق التمثيل الثنائى كما صفائف بايت arrays of bytes وذلك بإستخدام الاسلوب FileMode وذلك على النحو التالى :

FileMode.Append: فتح وإلحاق إلى ملف، إذا لم يكن الملف موجودا، فإنه إنشاء ملف جديد

FileMode.Create: إنشاء ملف جديد، إذا كان الملف موجود فإنه سيتم إلحاق إليه

FileMode.CreateNew: إنشاء ملف جديد، إذا كان الملف موجودا، فإنه يطرح استثناء

FileMode.Open: فتح ملف موجود

مثال / يعرض المثال التالي، وكيفية الكتابة في ملف باستخدام يقوم FileStream

الرمز:
Imports System.IO
Imports System.Text
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, _
   ByVal e As System.EventArgs) Handles Button1.Click
        Try
            Dim wFile As System.IO.FileStream
            Dim byteData() As Byte
            byteData = Encoding.ASCII.GetBytes("FileStream Test1")
            wFile = New FileStream("streamtest.txt", FileMode.Append)
            wFile.Write(byteData, 0, byteData.Length)
            wFile.Close()
        Catch ex As IOException
            MsgBox(ex.ToString)
        End Try
    End Sub
End Class
عندما نقوم بتنفيذ البرنامج، فإنه إنشاء ملف جديد وكتابة المحتوى لذلك.

4_ الفئة Textreader و الفئة TextWriter

Textreader وTextWriter هي طريقة أخرى لقراءة وكتابة ملف على التوالي ....

مثال على قراءة ملف نصى :
الرمز:
Imports System.IO
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, _
      ByVal e As System.EventArgs) Handles Button1.Click
        Try
            Dim line As String
            Dim readFile As System.IO.TextReader = New _
               StreamReader("C:\Test1.txt")
            line = readFile.ReadToEnd()
            MsgBox(line)
            readFile.Close()
            readFile = Nothing
        Catch ex As IOException
            MsgBox(ex.ToString)
        End Try
    End Sub
End Class
مثال على الكتابة فى ملف نصى
الرمز:
Imports System.IO
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, _
                ByVal e As System.EventArgs) Handles Button1.Click
        Try
            Dim writeFile As System.IO.TextWriter = New _
            StreamWriter("c:\textwriter.txt")
            writeFile.WriteLine("vb.net-informations.com")
            writeFile.Flush()
            writeFile.Close()
            writeFile = Nothing
        Catch ex As IOException
            MsgBox(ex.ToString)
        End Try
    End Sub
End Class
5_ الكائن BinaryReader

يعمل كائن BinaryReader في مستوى أدنى من الكائن Stream . يستخدم BinaryReader لقراءة أنواع premitive كقيم ثنائي في تيار ترميز معينة.

و لإنشاء كائن BinaryReader، يجب اولا إنشاء الكائن FileStream ومن ثم تمرير BinaryReader إلى منشىء الأسلوب وذلك على النحو التالى :

الرمز:
   Dim readStream As FileStream

readStream = New FileStream("c:\testBinary.dat", FileMode.Open)

Dim readBinary As New BinaryReader(readStream)
مثال / توضيحى
الرمز:
Imports System.IO
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
        Dim readStream As FileStream
        Dim msg As String
        Try
readStream = New FileStream("c:\testBinary.dat", FileMode.Open)
            Dim readBinary As New BinaryReader(readStream)
            msg = readBinary.ReadString()
            MsgBox(msg)
            readStream.Close()
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub
End Class
6_ الكائن BinaryWriter

يعمل كائن BinaryWriter في مستوى أدنى من الكائن Streams . يستخدم BinaryWriter لكتابة أنواع premitive كقيم ثنائي في تيار ترميز معينة. ......و لإنشاء كائن BinaryWriter، يجب اولا إنشاء الكائن FileStream ومن ثم تمرير BinaryWriter إلى الأسلوب منشئ

الرمز:
   Dim writeStream As FileStream

writeStream = New FileStream("c:\testBinary.dat", FileMode.Create)

Dim writeBinay As New BinaryWriter(writeStream)
مثال توضيحى /

الرمز:
Imports System.IO
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
        Dim writeStream As FileStream
        Try
writeStream = New FileStream("c:\testBinary.dat", FileMode.Create)
            Dim writeBinay As New BinaryWriter(writeStream)
            writeBinay.Write("This is a test for BinaryWriter !")
            writeBinay.Close()
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub
End Class


7_ الفئة Path

يوفر VB.NET طرق فعالة للتعامل مع أسماء الملفات والمسارات باستخدام الفئة Path و التى تقوم بإجراء العمليات على الحالات التي تحتوي على معلومات مسار المجلد او الملف....وفيما يلى بعض الاساليب المستخدمة مع تلك الفئة

GetDirectoryName- إرجاع معلومات عن اسم و مسار المجلد.

GetExtension - إرجاع امتداد السلسلة المسار المحدد.

GetFileName - إرجاع اسم الملف و مسار ملف متبوع بنوع امتداد الملف.

GetFileNameWithoutExtension - إرجاع اسم الملف من سلسلة المسار المحدد دون تمديد.

GetFullPath - إرجاع المسار المطلق لسلسلة المسار المحدد.

و اليكم مثال كامل :

الرمز:
Imports System.IO

Public Class Form1

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      Dim tmpPath As String
      Dim rootPath As String
      Dim filename As String
      Dim extension As String
      Dim directory As String
      Dim fullPath As String
      Dim filenameWithoutExtension As String

      tmpPath = "c:\\windows\\inf\\wvmic.inf"

      rootPath = Path.GetPathRoot(tmpPath)
      filename = Path.GetFileName(tmpPath)
      extension = Path.GetExtension(tmpPath)
      directory = Path.GetDirectoryName(tmpPath)
      filenameWithoutExtension = Path.GetFileNameWithoutExtension(tmpPath)
      fullPath = Path.GetFullPath(tmpPath)
      MsgBox(directory)
   End Sub
End Class


تحياتى لكم

أبوسجود
.....
.....

تاريخ التسجيل : 18/02/2011
المساهمات : 87
النقاط : 162
التقيم : 7
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: التعامل مع الملفات و المجلدات من خلال System.IO

مُساهمة من طرف المبرمج الطموح في الأربعاء سبتمبر 04, 2013 3:34 pm

مشكووووور اخويا على هدا الدرس ...جزاك الله خيرا

المبرمج الطموح
الاشراف
الاشراف

تاريخ التسجيل : 18/02/2011
المساهمات : 117
النقاط : 213
التقيم : 6
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: التعامل مع الملفات و المجلدات من خلال System.IO

مُساهمة من طرف ahmed.kaita في الأحد أغسطس 17, 2014 6:13 pm

مشكور على الموضوع  الرائع  Smile

ahmed.kaita
.
.

تاريخ التسجيل : 17/08/2014
المساهمات : 3
النقاط : 7
التقيم : 0
الدولة : اليمن
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى