Swift में फ़ाइल सिस्टम के साथ कार्य: पूर्ण गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Swift में फ़ाइल सिस्टम के साथ कार्य का परिचय



iOS और macOS के लिए विकास में अक्सर डिवाइस की फ़ाइल सिस्टम के साथ इंटरैक्शन की आवश्यकता होती है। चाहे वह उपयोगकर्ता डेटा को सहेजना हो, इमेज को कैश करना हो या दस्तावेज़ निर्यात करना हो — फ़ाइलों और फ़ोल्डरों के साथ कार्य करने की क्षमता किसी भी Swift डेवलपर के लिए एक अनिवार्य कौशल है। इस लेख में, हम विस्तार से समझेंगे कि फ़ाइल सिस्टम के सभी बुनियादी कार्यों को करने के लिए FileManager, URL और Data का उपयोग कैसे करें।



हम फ़ाइलें बनाना, पढ़ना, लिखना और हटाना, साथ ही निर्देशिकाओं में नेविगेट करना देखेंगे। सभी कोड उदाहरण Swift 5 में लिखे गए हैं और iOS और macOS दोनों प्रोजेक्ट्स के लिए उपयुक्त हैं।



मुख्य घटक: FileManager और URL



Swift में फ़ाइल सिस्टम के साथ कार्य करने के लिए केंद्रीय वर्ग FileManager है। यह फ़ाइलों, निर्देशिकाओं और उनकी विशेषताओं को प्रबंधित करने के लिए विधियाँ प्रदान करता है। पथ निर्दिष्ट करने के लिए URL संरचना का उपयोग किया जाता है, जो स्ट्रिंग्स की तुलना में अधिक सुरक्षित और आधुनिक विकल्प है।



मानक निर्देशिकाएँ प्राप्त करना



पहली बात जो जानना आवश्यक है — मानक सिस्टम निर्देशिकाओं के पथ कैसे प्राप्त करें। iOS के लिए ये आमतौर पर Documents, Library/Caches और tmp होते हैं।



import Foundation

let fileManager = FileManager.default

// Documents निर्देशिकाguard let documentsURL = fileManager.urls(for: .documentDirectory, in: .userDomainMask).first else { fatalError("Documents निर्देशिका प्राप्त करने में विफल")}print("Documents: \\(documentsURL.path)")

// Caches निर्देशिकाguard let cachesURL = fileManager.urls(for: .cachesDirectory, in: .userDomainMask).first else { fatalError("Caches निर्देशिका प्राप्त करने में विफल")}print("Caches: \\(cachesURL.path)")

// अस्थायी निर्देशिकाlet tempURL = fileManager.temporaryDirectoryprint("Temp: \\(tempURL.path)")


फ़ाइलें बनाना और लिखना



Swift में फ़ाइल बनाना — पथ बनाने और डेटा लिखने का एक संयोजन है। आइए दो मुख्य दृष्टिकोणों पर विचार करें।



टेक्स्ट डेटा लिखना



func createTextFile() {    guard let documentsURL = fileManager.urls(for: .documentDirectory, in: .userDomainMask).first else { return }        let fileURL = documentsURL.appendingPathComponent("example.txt")    let content = "नमस्ते, दुनिया! यह एक परीक्षण फ़ाइल है।"        do {        try content.write(to: fileURL, atomically: true, encoding: .utf8)        print("फ़ाइल सफलतापूर्वक बनाई गई: \\(fileURL.path)")    } catch {        print("फ़ाइल लिखने में त्रुटि: \\(error.localizedDescription)")    }}


बाइनरी डेटा लिखना (इमेज, आर्काइव)



func createBinaryFile() {    guard let documentsURL = fileManager.urls(for: .documentDirectory, in: .userDomainMask).first else { return }        let fileURL = documentsURL.appendingPathComponent("data.bin")    let data = Data([0x48, 0x65, 0x6C, 0x6C, 0x6F]) // "Hello" हेक्स में        do {        try data.write(to: fileURL, options: .atomic)        print("बाइनरी फ़ाइल बनाई गई")    } catch {        print("त्रुटि: \\(error)")    }}


निर्देशिकाएँ बनाना



func createDirectory() {    guard let documentsURL = fileManager.urls(for: .documentDirectory, in: .userDomainMask).first else { return }        let newDirURL = documentsURL.appendingPathComponent("MyFolder")        do {        try fileManager.createDirectory(at: newDirURL, withIntermediateDirectories: true, attributes: nil)        print("निर्देशिका बनाई गई: \\(newDirURL.path)")    } catch {        print("निर्देशिका बनाने में त्रुटि: \\(error)")    }}


फ़ाइलें पढ़ना और जाँचना



फ़ाइलें बनाने के बाद, उन्हें पढ़ने और उनके अस्तित्व की जाँच करने में सक्षम होना आवश्यक है।



फ़ाइल के अस्तित्व की जाँच करना



func fileExists(at url: URL) -> Bool {    return fileMan                

ब्लॉग

पुस्तक अनुशंसाएँ