टेक्स्ट फ़ाइल से स्ट्रिंग पढ़ना और लिखना: यह हुड के नीचे कैसे काम करता है

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

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

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

Swift में टेक्स्ट फ़ाइलों में स्ट्रिंग्स कैसे पढ़ें और लिखें: हुड के नीचे झाँकना

\n\n

प्रत्येक डेवलपर, भाषा की परवाह किए बिना, देर-सबेर इस कार्य का सामना करता है: read and write a String from text file। यह कितना आसान लगता है? लेकिन Swift में, अपनी सख्त टाइप सिस्टम और सुरक्षा के साथ, यह प्रक्रिया फ़ाइल डिस्क्रिप्टर, एन्कोडिंग और फ़ाइल मैनेजरों की दुनिया में एक रोमांचक यात्रा में बदल जाती है। यदि आपने कभी सोचा है: "जब मैं write(to:) या String(contentsOf:) कॉल करता हूँ तो वास्तव में क्या होता है?" — यह लेख आपके लिए है।

\n\n

हम केवल तैयार समाधान नहीं दिखाएंगे, बल्कि प्रत्येक चरण को तोड़ेंगे: सैंडबॉक्स में फ़ाइल खोजने से लेकर डिस्क पर बाइट्स लिखने तक। कमर कस लें, यह दिलचस्प होगा!

\n\n

Swift केवल File.write(text) लिखने की अनुमति क्यों नहीं देता?

\n\n

Python या JavaScript के विपरीत, जहाँ आप एक पंक्ति में फ़ाइल खोल और लिख सकते हैं, Swift को स्पष्ट रूप से बताना होता है: स्ट्रिंग किस एन्कोडिंग में है? कहाँ सहेजना है (Documents, Caches, Temp में)? यदि फ़ाइल मौजूद नहीं है तो क्या करें? यह बग नहीं, बल्कि एक विशेषता है: यह दृष्टिकोण डेटा लीक को रोकता है और गारंटी देता है कि आप प्रत्येक चरण को नियंत्रित करते हैं।

\n\n

इसके मूल में तीन प्रमुख घटक हैं:

\n
    \n
  • FileManager — "डिस्पैचर" जो जानता है कि आपके ऐप के सभी फ़ोल्डर कहाँ स्थित हैं।
  • \n
  • Data — कच्चे बाइट्स। फ़ाइल सिस्टम इन्हीं के साथ काम करता है।
  • \n
  • String — हमारा उच्च-स्तरीय प्रतिनिधित्व, जिसे Data में और वापस रूपांतरित किया जाना चाहिए।
  • \n
\n\n

जब आप read and write a String from text file लिखते हैं, तो हुड के नीचे एक श्रृंखला होती है: String → Data (एन्कोडिंग) → डिस्क पर बाइट्स लिखना (FileHandle या Data विधि के माध्यम से)।

\n\n

व्यावहारिक उदाहरण: फ़ाइल में स्ट्रिंग लिखना

\n\n

आइए सबसे सरल और उपयोगी परिदृश्य से शुरू करें। कल्पना करें कि आप एक डायरी ऐप लिख रहे हैं और नोट का टेक्स्ट सहेजना चाहते हैं।

\n\n
import Foundation\n\nlet textToSave = "नमस्ते, दुनिया! आज Swift सीखने के लिए एक शानदार दिन है।"\nlet fileName = "my_note.txt"\n\n// 1. Documents निर्देशिका का पथ प्राप्त करें\nguard let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first else {\n    fatalError("Documents निर्देशिका प्राप्त करने में विफल")\n}\n\n// 2. फ़ाइल का पूरा पथ बनाएँ\nlet fileURL = documentsDirectory.appendingPathComponent(fileName)\n\n// 3. स्ट्रिंग को Data में बदलें (UTF-8 एन्कोडिंग में)\nguard let data = textToSave.data(using: .utf8) else {\n    fatalError("स्ट्रिंग एन्कोडिंग त्रुटि")\n}\n\n// 4. डेटा को डिस्क पर लिखें\ndo {\n    try data.write(to: fileURL, options: .atomic)\n    print("फ़ाइल सफलतापूर्वक सहेजी गई: \\(fileURL.path)")\n} catch {\n    print("लिखने में त्रुटि: \\(error.localizedDescription)")\n}
\n\n

यहाँ हुड के नीचे क्या हो रहा है?

\n
    \n
  • FileManager.default.urls(for:in:) — निर्देशिका का URL लौटाता है। iOS में यह एक पृथक सैंडबॉक्स है।
  • \n
  • data(using: .utf8) — स्ट्रिंग का प्रत्येक वर्ण (इमोजी भी) UTF-8 मानक के अनुसार एक या अधिक बाइट्स में एन्कोड होता है।
  • \n
  • data.write(to:options:) — एक सिस्टम कॉल जो परमाणु रूप से (यदि .atomic निर्दिष्ट है) डेटा को एक अस्थायी फ़ाइल में लिखता है, फिर उसे लक्ष्य फ़ाइल में नाम बदल देता है। यह विफलता के दौरान डेटा भ्रष्टाचार से बचाता है।
  • \n
\n\n

फ़ाइल से स्ट्रिंग पढ़ना: उल्टी प्रक्रिया

\n\n

अब, जब हमने नोट सहेज लिया है, तो चलिए इसे वापस पढ़ते हैं। यह read and write a String from text file का एक उत्कृष्ट उदाहरण है।

\n\n
import Foundation\n\nlet fileName = "my_note.txt"\n\nguard let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first else {\n    fatalError("Documents निर्देशिका प्राप्त करने में विफल")\n}\n\nlet fileURL = documentsDirectory.appendingPathComponent(fileName)\n\ndo {\n    // 1. कच्चे                

ब्लॉग

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