C# System.IO: अभी तक हमने जितने भी Program Create किए हैं, उन में से कोई भी Program किसी भी तरह के Data को Computer में Physically Store यानी Save नहीं करताए जिसे हम फिर से Retrieve कर सकें। .NET के Files व Streams Related Features हमें यही सुविधा Provide करवाते हैं।
.NET में System.IO Namespace हमें File व Stream Related विभिन्न प्रकार की जरूरतों को पूरा करने के लिए सभी उपयोगी Features Provide करवाता है। जिनका प्रयोग करके हम हमारे .NET Application में विभिन्न प्रकार के Devices से आने वाले Data को Read कर सकते हैं अथवा विभिन्न प्रकार के Output Devices पर अपने Program के Data को Write कर सकते हैं।
C# System.IO Namespace
.NET Framework में System.IO Namespace को Base Class Library के रूप में Define किया गया है क्योंकि किसी भी Application Program में हमें Data को Read या Write करने की जरूरत जरूर पडती है। इसीलिए इस Namespace को mscorlib.dll File में Define किया गया है और इस Namespace के अन्य I/O Supporting Features को System.dll नाम की Assembly में Define किया गया है।
ये Namespace हमें बहुत सारे ऐसे Types Provide करता है, जो कि Programmatically हमें हमारी Machine की Directories व Files को Handle करने की सुविधा Provide करते हैं। साथ ही ये Namespace हमें ऐसे Types भी Provide करता है, जिनका प्रयोग करके हम विभिन्न प्रकार के Input Devices व अन्य Input माध्यमों से विभिन्न प्रकार के Raw Data को Read कर सकते हैं और विभिन्न प्रकार के Output Devices व माध्यमों पर Data को Future में Reuse करने के लिए Write कर सकते हैं।
Accessing File and Directory Information
System.IO हमें चार मुख्य Classes Provide करता है, जिनका प्रयोग करके हम हमारी Device पर स्थित किसी Individual File या Folder की Information को Access कर सकते हैं। जिनमें से Directory व File नाम की Classes का प्रयोग विभिन्न प्रकार के Static Methods के माध्यम से किसी File/Directory को Create, Delete, Copy व Move करने के लिए किया जाता है।
जबकि FileInfo व DirectoryInfo Classes हमें इन्हीं कामों को Instance Level Methods के माध्यम से करने की सुविधा Provide करते हैं, जहां हमें पहले new Keyword के माध्यम से Object Instance Create करना होता है और फिर किसी Individual File/Directory को Create, Delete Copy या Move करना होता है।
यानी File व Directory Classes हमें जिन कामों को Static Methods के माध्यम से पूरा करने की सुविधा देते हैं, उन्हीं कामों को हमें FileInfo व DirectoryInfo Types Objects Create करते हुए करना पडता है। इन चारों Classes की Hierarchy को हम निम्न चित्रानुसार आसानी से समझ सकते हैं:
FileInfo व DirectoryInfo Classes किसी Individual File/Directory की Full Detail Provide करने के लिए ज्यादा उपयोगी होते हैं, क्योंकि इनके Members Strongly Typed Objects Return करते हैं। जबकि Directory व File Class के Members Simple String Values Return करते हैं, Strongly Typed Object नहीं।
Abstract FileSystemInfo Base Class
DirectoryInfo व FileInfo Classes बहुत सारी Information FileSystemInfo नाम के अपने Parent Class जो कि एक Abstract Base Class है, से प्राप्त करते हैं। इसलिए ज्यादातर परिस्थितियों में हम इन Derived Class Objects के माध्यम से Base Class FileSystemInfo के ही Members को Access कर रहे होते हैं। इस Class में निम्न Properties को Define किया गया है:
Attributes Property
इस Property को हम Current File से Associated Attributes को Get/Set करने के लिए Use कर सकते हैं, जिन्हें FileAttributes Enumeration में द्वारा Represent किया जाता है। यानी हम इस बात का पता लगा सकते हैं कि File/Directory Read-Only, Encrypted, Hidden या Compressed है या नहीं।
CreationTime Property
इस Property को हम Current File/Directory के Creation का Time Get/Set करने के लिए Use कर सकते हैं।
Exists Property
इस Property को Use करके हम इस बात का पता लगा सकते हैं कि Specified File/Directory Exit है या नहीं।
Extension Property
इस Property को Use करके हम Specified File का Extension Return कर सकते हैं।
FullName Property
इस Property को Use करके हम किसी Specified File/Directory का Full Path Retrieve कर सकते हैं।
LastAccessTime Property
इस Property को Use करके हम किसी Specified File/Directory का Last Access Time Set/Get कर सकते हैं।
LastWriteTime Property
इस Property को Use करके हम किसी Specified File/Directory का Last Write Time Set/Get कर सकते हैं।
Name Property
इस Property को Use करके हम किसी Currently Specified File/Directory का Name Retrieve कर सकते हैं।
FileSystemInfo Class Delete() नाम का एक Method भी Define करता है। इस Method को Derived Type द्वारा किसी File/Directory को Hard Drive से Delete करने के लिए Implement किया जाता है। साथ ही हम Attribute Information को Retrieve करने से पहले Refresh() नाम के Method को Call करके इस बात को निश्चित कर सकते हैं कि Current File/Directory Outdated नहीं है।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook C#.NET in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
C#.NET in Hindi | Page:908 | Format: PDF