C# FileInfo – 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

FileInfo Type हमें किसी File से सम्बंधित विभिन्न प्रकार की Information Retrieve करने की सुविधा Provide करता है। जैसे कि File का Creation Time, Size व विभिन्न File Attributes आदि। साथ ही हम File को Create, Copy, Move व Delete करने के लिए भी इस Type का प्रयोग कर सकते हैं। FileSystemInfo के Members के साथ ही इस Type के स्वयं के मुख्‍य Members निम्नानुसार हैं:

AppendText() Method

इस Method का प्रयोग करके हम किसी File के Content में नया Text Add कर सकते हैं। इस जरूरत को पूरा करने के लिए ये Method एक StreamWriter Type का Object Create करता है जिसके बारे में हम आगे समझेंगे।

CopyTo() Method

इस Method का प्रयोग करके हम किसी File की एक नई Copy Create कर सकते हैं।

Create() Method

इस Method का प्रयोग करके हम एक नई File Create कर सकते है। ये Method FileStream Type का एक Object Return करता है, जिसका प्रयोग Newly Created File के साथ Interact करने के लिए किया जा सकता है। इस Type के बारे में भी हम आगे जानेंगे।

CreateText() Method

इस Method का प्रयोग करने पर एक नया StreamWriter Object Create होता है जो कि एक नई Text File Write करता है।

Delete() Method

इस Method का प्रयोग करके हम किसी File को Delete कर सकते हैं।

Directory() Method

इस Method का प्रयोग करके हम Parent Directory का Instance प्राप्त कर सकते हैं।

DirectoryName() Method

इस Method का प्रयोग करके हम Parent Directory का Full Path Retrieve कर सकते हैं।

Length() Method

इस Method का प्रयोग करके हम किसी File की Size का पता लगा सकते हैं।

MoveTo() Method

इस Method का प्रयोग करके हम किसी File को किसी दूसरी Location पर Move कर सकते हैं। ये Method हमें Move होने वाली File को एक नए नाम के साथ Move करने की सुविधा भी Provide करता है।

Name() Method

इस Method का प्रयोग करके हम Current File का नाम Retrieve कर सकते हैं।

Open() Method

इस Method का प्रयोग करके हम किसी File को Read/Write या Sharing Privileges के साथ Open कर सकते हैं।

OpenRead() Method

इस Method का प्रयोग करके हम एक Read-Only FileStream Object Create कर सकते हैं।

OpenWrite() Method

इस Method का प्रयोग करके हम एक Write-Only FileStream Object Create कर सकते हैं।

ज्यादातर FileInfo Class Objects, FileStream या StreamWriter Type का Object Return करते हैं जो कि हमें विभिन्न Formats में किसी File में Data को Write करने अथवा किसी File से Data को Read करने की सुविधा Provide करते हैं, जिनके बारे में हम आगे जानेंगे।

Using FileInfo.Create() Method

हम किसी File का Handle प्राप्त करने के लिए निम्नानुसार तरीके से FileInfo Class के Create Method को Use कर सकते हैं:

	static void Main(string[] args)
	{
		// Make a new file on the C drive.
		FileInfo f = new FileInfo(@"C:\Test.dat");
		FileStream fs = f.Create();

		// Use the FileStream object...

		// Close down file stream.
		fs.Close();
	}

इस Code Segment द्वारा हम समझ सकते हैं कि FileInfo.Create() Method हमेंशा FileSystem  Type का एक Object Return करता है, जो कि Specified File के साथ Synchronous और Asynchronous Read/Write Operation Perform करने की सुविधा Provide करता है। यहां ध्‍यान देने वाली बात ये है कि जब हम इस Method को Use करते हैं, तो Return होने वाला FileSystem Object Full Read/Write Access के साथ सभी User के लिए Accessible रहता है।

साथ ही उपरोक्त Code में एक बार और समझने वाली है और वो ये है कि जब भी कभी हम किसी FileSystem Object के साथ प्रक्रिया करते हैं, तो File के साथ सभी Read/Write Operation Perform करने के बाद उस File को Close() Method का प्रयोग करके File Handle को Release करते हुए Close करना जरूरी होता है। क्योंकि सभी Resources वास्तव में Unmanaged Stream Resources होते हैं, जिन्हें CLR का Garbage Collector Collect नहीं करता।

हालांकि FileSystem Type IDisposable Interface को Implement करता है, इसलिए हम C# के using Scope का प्रयोग करते हुए C# Compiler को इस Type के सभी Unmanaged Objects को Garbage Collector द्वारा Collect करने के लिए Interact कर सकते हैं। यानी हम हमारे File Handle Capturing Related Code को निम्नानुसार तरीके से लिख सकते हैं, ताकि Garbage Collector इसे Collect कर सके:

	static void Main(string[] args)
	{
		// Defining a using scope for file I/O types is ideal.
		FileInfo f = new FileInfo(@"C:\Test.dat");
		using (FileStream fs = f.Create())
		{
			// Use the FileStream object...
		}
	}

FileInfo.Open() Method

किसी पहले से Exist File को Open करने के लिए हम इस Method को Use कर सकते हैं। साथ ही इस Method का प्रयोग करके हम किसी नई File को Create भी कर सकते हैं। ये Method कई Parameters Accept करता है, इसलिए विभिन्न प्रकार के Parameters Specify करके हम इससे कई तरह के काम करवा सकते हैं।

File को Open() Method का प्रयोग करते हुए Open करते हैं और जब हमारा File Related काम पूरा हो जाता है, तब ये Method Return होते समय FileStream Type का एक Object Return करता है। जैसे:

	static void Main(string[] args)
	{
		// Make a new file via FileInfo.Open().
		FileInfo f2 = new FileInfo(@"C:\Test2.dat");
		using(FileStream fs2 = f2.Open(
			FileMode.OpenOrCreate,
			FileAccess.ReadWrite, 
			FileShare.None)
		)
		{
			// Use the FileStream object...
		}
	}

जैसाकि उपरोक्त Code Segment में हम देख सकते हैं कि Open() Method में हमने तीन Parameters Pass किए हैं। पहला Parameter एक General Parameter है जो इस बात को Indicate करता है कि नया File Create किया जा सकता है, या फिर पहले से Existing File को Open किया जा सकता है और File को Append किया जा सकता है। इस पहले Parameter के रूप में हम निम्न Enum Values को Use कर सकते हैं:

public enum FileMode { CreateNew, Create, Open, OpenOrCreate, Truncate, Append }

इन सभी Enum Values का Description निम्नानुसार है:

CreateNew Enum Value

ये Enum Operating System को एक नई File Create करने का Instruction देता है। यदि जिस नाम की File Create की जा रही है, उस नाम की File पहले से Exist हो, तो इस Enum को Specify करने पर Compiler एक IOException Generate करता है।

Create Enum Value

ये Enum Operating System को एक नई File Create करने का Instruction देता है। यदि जिस नाम की File Create की जा रही है, उस नाम की File पहले से Exist हो, तो इस Enum को Specify करने पर वह पिछली File इस नई Create होने वाली File से Overwrite हो जाती है।

Open Enum Value

ये Enum Operating System को पहले से Exist किसी File को Open करने का Instruction देता है। जबकि यदि File Exist न हो, तो इस Enum को Specify करने पर FileNotFoundException नाम का Exception Generate होता है।

OpenOrCreate Enum Value

ये Enum Operating System को पहले से Exist किसी File को Open करने का Instruction देता है। जबकि यदि File Exist न हो, तो इस Enum को Specify करने पर उसी Specified नाम की एक नई File Create करने के लिए Operating System को Instruct करता है।

Truncate Enum Value

ये Enum Operating System को पहले से Exist किसी File को Open करने का Instruction देता है और उस File के सारे Contents Delete करके File की Size 0 Bytes कर देता है।

Append Enum Value

ये Enum Operating System को पहले से Exist किसी File को Open करने का Instruction देता है और उस File के अन्त में नए Content Add करना शु: करता है। जबकि यदि File पहले से Exist न हो, तो Operating System को नई File Create करने का Instruction देता है।

पिछले Code Segment के Open() Method के दूसरे Parameter के रूप में हमने FileAccess Enumeration Value को ReadWrite Specify किया है, ताकि Open होने वाली File Reading व Writing दोनों कामों के लिए Available हो। इस Enum को निम्नानुसार Define किया गया है:

public enum FileAccess { Read, Write, ReadWrite }

अन्त में तीसरे Parameter के रूप में हमने FileShare Option को Specify किया है और ये भी एक Enum Type मान है जो इस बात को तय करता है कि Open होने वाली File अन्‍य Handlers के साथ किस तरह से Share होगी। इस Enum को निम्नानुसार Define किया गया है:

public enum FileShare { Delete, Inheritable, None, Read, ReadWrite, Write }

इस प्रकार से यदि हम हमारे पिछले Code Segment में निम्नानुसार Specify किए गए Code को देखें:

		using(FileStream fs2 = f2.Open(
			FileMode.OpenOrCreate,
			FileAccess.ReadWrite, 
			FileShare.None)
		)

यदि Open होने वाली File पहले से Exist नहीं होगी, तो ये Code Specified नाम की एक नई File Create करेगा। जबकि Open होने वाली File को Read भी किया जा सकता है और इसमें नए Data को Write भी किया जा सकता है। साथ ही इस Open होने वाली File को किसी भी अन्‍य Handler के साथ Share नहीं किया जाएगा, क्योंकि हमने तीसरे Parameter के रूप में FileShare.None Enum मान Specify किया है।

C# FileInfo.OpenRead() and C# FileInfo.OpenWrite() Methods

हालांकि FileInfo.Open() Method हमें Flexible तरीके से किसी File का Handle प्राप्त करवाता है। लेकिन FileInfo Class हमें OpenRead() OpenWrite() नाम के दो Methods भी Provide करवाता है, जो कि हमें Read-Only या Write-Only Mode में Well Configured FileStream Object Return करते हैं, जबकि इन्हें Use करते समय हमें किसी Enumeration Value को Use नहीं करना होता। क्योंकि FileInfo.Create() FileInfo.Open() Methods की तरह ही OpenRead() व OpenWrite() Methods भी FileStream Object Return करते हैं। इन Methods को हम निम्नानुसार तरीके से Use कर सकते हैं:

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

namespace CSharpFilesAndStreams
{
    class Program
    {
        static void Main(string[] args)
        {
            // Get a FileStream object with read-only permissions.
            FileInfo f3 = new FileInfo(@"C:\Test3.dat");
            using (FileStream readOnlyStream = f3.OpenRead())
            {
                // Use the FileStream object...
            }

            // Now get a FileStream object with write-only permissions.
            FileInfo f4 = new FileInfo(@"C:\Test4.dat");
            using (FileStream writeOnlyStream = f4.OpenWrite())
            {
                // Use the FileStream object...
            }
        }
    }
}

इस Program में हम ये मान रहे हैं कि Test3.dat Test4.dat नाम की File पहले से ही C: Drive पर Exist हैं।

C# FileInfo.OpenText() Methods

OpenText() भी एक File Open करने से सम्बंधित Method है, लेकिन ये Method StreamReader Type का Object Return करता है FileStream Type का नहीं। इसे हम निम्नानुसार तरीके से Use कर सकते हैं जहां हम ये मान रहे हैं कि हमारे Computer के C: Drive पर boot.ini नाम की File पहले से Exist है:

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

namespace CSharpFilesAndStreams
{
    class Program
    {
        static void Main(string[] args)
        {
            // Get a StreamReader object.
            FileInfo f5 = new FileInfo(@"C:\boot.ini");
            using (StreamReader sreader = f5.OpenText())
            {
                // Use the StreamReader object...
            }
        }
    }
}

StreamReader Type के Object का प्रयोग करके हम किसी File से Characters को Read कर सकते हैं, जिसके बारे में हम आगे जानेंगे।

FileInfo.CreateText() and FileInfo.AppendText() Methods

इन दोनों FileInfo Methods का प्रयोग हम किसी File में नया Content Create करने अथवा किसी पहले से Existing File के अन्त में नया Content Add करने के लिए करते हैं। ये दोनों Methods StreamWriter Type का Object Return करते हैं, जिसे निम्नानुसार Use किया जा सकता है:

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

namespace CSharpFilesAndStreams
{
    class Program
    {
        static void Main(string[] args)
        {
            FileInfo f6 = new FileInfo(@"C:\Test6.txt");
            using (StreamWriter swriter = f6.CreateText())
            {
                // Use the StreamWriter object...
            }

            FileInfo f7 = new FileInfo(@"C:\FinalTest.txt");
            using (StreamWriter swriterAppend = f7.AppendText())
            {
                // Use the StreamWriter object...
            }
        }
    }
}

StreamWriter Type के Object का प्रयोग करके हम किसी File में Characters को Write कर सकते हैं, जिसके बारे में हम आगे जानेंगे।

C# DriveInfo - Class
C# File - 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 से छुटकारा पाएें।