C# DirectoryInfo – Class

C# in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook C#.NET in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

C#.NET in Hindi | Page:908 | Format: PDF

BUY NOW DOWNLOAD READ ONLINE

C# DirectoryInfo – Class: इस Class में कई Methods हैं, जिनका प्रयोग करके हम किसी Directory या Subdirectory को Create, Move, Delete या Enumerate करने के लिए Use कर सकते हैं। FileSystemInfo Base Class द्वारा Provided Functionalities के साथ ही ये Class निम्न Members और Provide करता है:

Create()

इस Method का प्रयोग करके हम उस स्थिति में एक नई Directory Create कर सकते हैं, जबकि Path Name Specify किया गया हो।

 

CreateSubdirectory() Method

इस Method का प्रयोग करके हम उस स्थिति में एक नई Sub-Directory Create कर सकते हैं, जबकि Path Name Specify किया गया हो।

 

Delete() Method

इस Method का प्रयोग करके हम किसी Directory व उसके सभी Contents को Delete कर सकते हैं।

 

GetDirectories() Method

ये Method DirectoryInfo Objects का एक Array Return करता है, जो Current Directory की सभी Subdirectories की List को Represent करता है।

 

GetFiles() Method

ये Method FileInfo Objects का एक Array Return करता है, जो Current Directory की सभी Files की List को Represent करता है।

 

MoveTo() Method

इस Method का प्रयोग करके हम किसी Directory व उसके Contents को एक नए Path पर Move कर सकते हैं।

 

Parent Property

ये Property Current Directory के Parent Directory को Return करता है।

 

Root Property

ये Property Path के Root Portion को Return करता है।

जब हम DirectoryInfo Type के साथ कोई प्रक्रिया करना चाहते हैं, तब हमें किसी Particular Directory Path को Constructor Parameter की तरह Specify करना होता है। यदि हमें Current Directory को Represent करना हो, तो हम “.” Dot Notation को Use कर सकते हैं। उदाहरण के लिए यदि हमें Current Directory को Specify करना हो, जिसमें हमारा Executing Program है, तो हमें निम्न Statement लिखना होगा:

DirectoryInfo currentDirectory = new DirectoryInfo(“.“);

इसी तरह से यदि हमें “C:\Windows” को Refer करना हो, तो हम निम्न Statement Use कर सकते हैं:

DirectoryInfo windowsDirectory = new DirectoryInfo(@”C:\Windows“);

इस उदाहरण में हम ये मान रहे हैं कि Constructor में जिस Path को Specify किया जा रहा है, वह Physical Machine पर पहले से Exist है। लेकिन यदि हम किसी Non-Exist Directory को Specify करें, तो System.IO.DirectoryNotFoundException Throw होता है।

अत: यदि हम ऐसी Directory को Specify करते हैं, जो कि Exist नहीं है, तो हम उस Directory को Create करने के लिए निम्नानुसार तरीके से Create() Method Use कर सकते हैं:

DirectoryInfo csharpDirecrtory= new DirectoryInfo(@”C:\CSharpInHindi“);
csharpDirecrtory.Create();

जब एक बार हम DirectoryInfo Object Create कर लेते हैं, तो उस Object के माध्‍यम से हम Specified Path को विभिन्न FileSystemInfo Members के माध्‍यम से Investigate कर सकते हैं। जैसे:

File Name: GettingTypeMethodsWithParameters.cs
using System.IO;

namespace CSharpFilesAndStreams
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("***** Fun with Directory(Info) *****\n");
            ShowWindowsDirectoryInfo();
            Console.ReadLine();
        }
        static void ShowWindowsDirectoryInfo()
        {
            // Dump directory information.
            DirectoryInfo dir = new DirectoryInfo(@"C:\Windows");
            Console.WriteLine("***** Directory Info *****");
            Console.WriteLine("FullName: {0}", dir.FullName);
            Console.WriteLine("Name: {0}", dir.Name);
            Console.WriteLine("Parent: {0}", dir.Parent);
            Console.WriteLine("Creation: {0}", dir.CreationTime);
            Console.WriteLine("Attributes: {0}", dir.Attributes);
            Console.WriteLine("Root: {0}", dir.Root);
            Console.WriteLine("**************************\n");
        }
    }
}

// Output:
   ***** Directory Info *****
   FullName: C:\Windows
   Name: Windows
   Parent: 
   Creation: 7/26/2012 1:37:59 PM
   Attributes: Directory
   Root: C:\

Enumerating Files with C# DirectoryInfo Type

किसी Existing Directory के Contents को Enumerate करने के लिए सबसे पहले हमें DirectoryInfo Type के Object के लिए GetFiles() Method का प्रयोग करना होता है। ये Method एक Array Return करता है, जिसमें Specified Directory की सभी Files एक FileInfo Type Object के रूप में Exist होती हैं। जिनके साथ विभिन्न FileInfo Members को Use करके हम हर File की Information Retrieve कर सकते हैं। जैसे:

File Name: ScanningFilesFromDirectory.cs
using System.IO;
using System;

namespace CSharpFilesAndStreams
{
    class Program
    {
        static void Main(string[] args)
        {
            DisplayImageFiles();
        }
        static void DisplayImageFiles()
        {
            DirectoryInfo dir = new DirectoryInfo(@"C:\Windows\Web\Wallpaper");

            // Get all files with a *.jpg extension.
            FileInfo[] imageFiles = dir.GetFiles("*.jpg", SearchOption.AllDirectories);

            // How many were found?
            Console.WriteLine("Found {0} *.jpg files\n", imageFiles.Length);

            // Now print out info for each file.
            foreach (FileInfo f in imageFiles)
            {
                Console.WriteLine("***************************");
                Console.WriteLine("File name: {0}", f.Name);
                Console.WriteLine("File size: {0}", f.Length);
                Console.WriteLine("Creation: {0}", f.CreationTime);
                Console.WriteLine("Attributes: {0}", f.Attributes);
            }
        }
    }
}

// Output:
   Found 13 *.jpg files
   
   ***************************
   File name: img1.jpg
   File size: 268336
   Creation: 7/26/2012 4:17:41 AM
   Attributes: Archive
   ***************************
   File name: img2.jpg
   File size: 333193
   Creation: 7/26/2012 4:17:41 AM
   Attributes: Archive
   ***************************
   . . .
   . . .
   . . .
 
   ***************************
   File name: img0.jpg
   File size: 435174
   Creation: 7/7/2012 10:00:48 AM
   Attributes: Archive

जैसाकि इस Program में हम देख सकते हैं कि हमने Directory को Scan करते समय हमने GetFiles() Method में SearchOption.AllDirectories नाम का एक Filter भी Apply किया है:

FileInfo[] imageFiles = dir.GetFiles(“*.jpg”, SearchOption.AllDirectories);

जिससे FileInfo Type के imageFiles नाम के Array में केवल .jpg Extension वाली Files ही Return होती हैं, अन्‍य नहीं।

Creating Subdirectory with C# DirectoryInfo Type

हम किसी Directory में किसी नई Subdirectory Create करने के लिए DirectoryInfo.CreateSubdirectory() Method Use कर सकते हैं। ये Method एक बार में एक Single Directory Create करता है, जबकि Subdirectory Path Specify करते हुए हम Multiple Subdirectories भी Create कर सकते हैं। जैसे:

File Name: CreatingSubDirectory.cs
using System.IO;
using System;

namespace CSharpFilesAndStreams
{
    class Program
    {
        static void Main(string[] args)
        {
            CreateSubDirectory();
        }

        static void CreateSubDirectory()
        {
            DirectoryInfo dir = new DirectoryInfo(@"C:\");

            // Create \MyFolder off application directory.
            dir.CreateSubdirectory("MyFolder");

            // Create \MyFolder2\Data off application directory.
            dir.CreateSubdirectory(@"MyFolder2\Data");
        }
    }
}
C# DirectoryInfo - Hindi

C# DirectoryInfo – Hindi

जब हम इस Program को Run करते हैं तो जैसाकि इस चित्र में हम देख सकते हैं, हमारे Computer की C: Drive में MyFolderMyFolder2 नाम के दो Folders Create हो जाते हैं।

हालांकि हमें CreateSubdirectory() Method से Return होने वाले मान को Capture करने की जरूरत नहीं है। लेकिन DirectoryInfo Object, Newly Created Object का Path Return करता है। इसलिए यदि हम चाहें तो इस Return Value को उपयोग में ले सकते हैं। जैसे:

File Name: CreatingSubDirectory.cs
using System.IO;
using System;

namespace CSharpFilesAndStreams
{
    class Program
    {
        static void Main(string[] args)
        {
            CreateSubDirectory();
        }

        static void CreateSubDirectory()
        {
            DirectoryInfo dir = new DirectoryInfo(@"C:\");

            // Create \MyFolder off application directory.
            DirectoryInfo myFolder = dir.CreateSubdirectory("MyFolder");
            Console.WriteLine("MyFolder created at: {0}", myFolder);

            // Create \MyFolder2\Data off application directory.
            DirectoryInfo mySubFolder = dir.CreateSubdirectory(@"MyFolder2\Data");
            Console.WriteLine("MySubFolder created at: {0}", mySubFolder);
        }
    }
}

// Output:
   MyFolder created at: C:\MyFolder
   MySubFolder created at: C:\MyFolder2\Data
C# System.IO
C# Directory - Class

******

ये पोस्‍ट Useful लगा हो, तो Like कर दीजिए।

C# in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook C#.NET in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

C#.NET in Hindi | Page:908 | Format: PDF

BUY NOW DOWNLOAD READ ONLINE

Download All Hindi EBooks

सभी हिन्दी EBooks C, C++, Java, C#, ASP.NET, Oracle, Data Structure, VB6, PHP, HTML5, JavaScript, jQuery, WordPress, etc... के DOWNLOAD LINKS प्राप्‍त करें, अपने EMail पर।

Register करके Login करें। इस Popup से छुटकारा पाएें।