تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس التاسع والأربعون : System.IO
#3
الفئة DirectoryInfo :

اضافة لاحتواءها على الخصائص السابقة من FileStreamInfo ، تحتوي هذه الفئة على الدوال التالية :

[COLOR="#006400"]Create(), CreateSubdirectory() : انشاء مجلد او مجلد فرعي في المسار المحدد .
Delete() : حذف المجلد وكامل محتوياته .
GetDirectories() : تعيد مصفوفة من الاسماء توضح اسماء المجلدات الفرعية .
GetFiles() : تعيد مصفوفة Array من FileInfo تحتوي على كافة الملفات الموجودة في هذا المجلد .
MoveTo() : نقل المجلد وكافة محتوياته إلى مكان جديد .
Parent : معرفة المجلد الاكبر من هذا المجلد .
Root : لمعرفة ال Driver الخاص بهذا المجلد .
[/COLOR]
قبل البدء ، انت بحاجة لتعريف نسخة من هذه الفئة ، يمكنك تمرير المكان الذي تود البدء منه في المشيد Constructor بالشكل التالي مثلاً ( لمسار البرنامج ) :
C#:
كود :
DirectoryInfo dir1 = new DirectoryInfo(".");

vb.net:
رمز برمجي:

كود :
Dim dir1 As New DirectoryInfo(".")

او إلى مسار عادي :
C#:
رمز برمجي:


كود :
DirectoryInfo dir1 = new DirectoryInfo("C:\Ahmed");

vb.net:
رمز برمجي:


كود :
Dim dir1 As New DirectoryInfo("C:\Ahmed")

*** لو كنت مبرمج سي شارب فلا بد من عدم وضع \ وحدها داخل علامات التنصيص لإن لها استخدامات أخرى مثل \n \r وخلافه ، لكن يمكنك تحديد نوع البيانات بالداخل بأنها مباشرة عن طريق اضافة @ بالشكل التالي مثلاً :
رمز برمجي:

كود :
DirectoryInfo dir1 = new DirectoryInfo(@"C:\Ahmed");



ليس فقط بامكانك الربط مع مجلد موجود ، بل يمكنك الربط إلى مجلد غير موجود ومن ثم انشاءه :
C#:
رمز برمجي:

كود :
DirectoryInfo dir1 = new DirectoryInfo(@"C:\Ahmed\Test");
dir1.Create();

vb.net:
رمز برمجي:

كود :
Dim dir1 As New DirectoryInfo("C:\Ahmed\Test")
dir1.Create()

يمكنك ايضاً استعراض كافة الملفات داخل المجلد :
C#:
رمز برمجي:


كود :
FileInfo[] imageFiles = dir.GetFiles();

vb.net:
رمز برمجي:


كود :
Dim imageFiles As FileInfo() = dir.GetFiles()

يمكنك استخدام خصائص FileSystemInfo التي تحتوي على كافة المعلومات المتعلقة بالمجلد ، فمثلاً لعرض تاريخ إنشاء المجلد :
C#:
رمز برمجي:


كود :
Console.WriteLine(dir1.CreationTime);

vb.net:
رمز برمجي:


كود :
Console.WriteLine(dir1.CreationTime)

او يمكنك استعراض ملفات من نوع معين فقط ، مثلاً لاستعراض الملفات النصية فقط GIF ومن ثم كتابتها ، لا تنس ان الناتج من نوع FileInfo ويمكن تطبيق خصائص FileSsystemInfo عليها .
C#:
رمز برمجي:
كود :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication7
{
    class Program
    {
        static void Main(string[] args)
        {
            DirectoryInfo dir1 = new DirectoryInfo(@"C:\Users\Ahmed\Documents\Visual Studio 2008\WebSites\WebSite4");
            FileInfo[] imageFiles = dir1.GetFiles("*.gif");
            foreach (FileInfo f in imageFiles)
            {
                Console.WriteLine("Name: {0} - Creation Date: {1} . \n\n", f.Name, f.CreationTime);
            }
            Console.ReadKey();
        }
    }
}

vb.net:

Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports System.IO
Namespace ConsoleApplication7
Class Program
Private Shared Sub Main(ByVal args As String())
Dim dir1 As New DirectoryInfo("C:\Users\Ahmed\Documents\Visual Studio 2008\WebSites\WebSite4")
Dim imageFiles As FileInfo() = dir1.GetFiles("*.gif")

For Each f As FileInfo In imageFiles
Console.WriteLine("Name: {0} - Creation Date: {1} . " & Chr(10) & "" & Chr(10) & "", f.Name, f.CreationTime)
Next

Console.ReadKey()
End Sub
End Class
End Namespace

الناتج سيكون بالشكل التالي مثلاً :
[ATTACH=CONFIG]907[/ATTACH]


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
الدرس التاسع والأربعون : System.IO - بواسطة oneyemenweb2_mybb_import4801 - 14-10-12, 05:02 PM


التنقل السريع :


يقوم بقرائة الموضوع: