Kotlin में फ़ाइल सिस्टम के साथ कार्य करने का परिचय
\n\nफ़ाइल सिस्टम के साथ कार्य करना उन बुनियादी कार्यों में से एक है जिनका सामना हर डेवलपर को करना पड़ता है। चाहे आप कंसोल एप्लिकेशन, वेब सेवा या Android के लिए मोबाइल एप्लिकेशन लिख रहे हों, फ़ाइलों को पढ़ने, लिखने और प्रबंधित करने की क्षमता एक अनिवार्य कौशल है। इस लेख में, हम विस्तार से जानेंगे कि Kotlin में फ़ाइल सिस्टम के साथ कैसे काम करें, Java के मानक साधनों और भाषा की आधुनिक क्षमताओं दोनों का उपयोग करते हुए।
\n\nKotlin एक आधुनिक, संक्षिप्त और सुरक्षित प्रोग्रामिंग भाषा है जो Java के साथ पूरी तरह से संगत है। इसका मतलब है कि आप java.io और java.nio.file की सभी क्षमताओं का उपयोग कर सकते हैं, लेकिन कोड को अधिक छोटा और अभिव्यंजक लिख सकते हैं। यह लेख शुरुआती डेवलपर्स के लिए है जो Kotlin सिंटैक्स की मूल बातों से पहले से परिचित हैं।
फ़ाइलों के साथ कार्य करने के लिए मुख्य क्लास और विधियाँ
\n\nअभ्यास शुरू करने से पहले, आइए उन प्रमुख क्लासों से परिचित हों जो Kotlin में फ़ाइल सिस्टम के साथ कार्य करने के लिए आवश्यक होंगी:
\n\n- \n
java.io.File— फ़ाइलों और निर्देशिकाओं को प्रस्तुत करने के लिए मुख्य क्लास। \n java.nio.file.Path— पथों के साथ कार्य करने के लिए आधुनिक इंटरफ़ेस। \n java.nio.file.Files— कई स्थैतिक विधियों वाली उपयोगिता क्लास। \n java.io.BufferedReaderऔरjava.io.BufferedWriter— पंक्ति-दर-पंक्ति पढ़ने और लिखने के लिए। \n
Kotlin में File क्लास के लिए अपने स्वयं के सुविधाजनक एक्सटेंशन भी हैं, जो कोड को और भी सरल बनाते हैं। उदाहरण के लिए, readText(), writeText(), appendText() और अन्य फ़ंक्शन।
फ़ाइलें और निर्देशिकाएँ बनाना
\n\nचलिए सबसे सरल चीज़ से शुरू करते हैं — फ़ाइल बनाना। Kotlin में यह एक पंक्ति में किया जाता है:
\n\nimport java.io.File\n\nfun main() {\n val file = File("example.txt")\n file.createNewFile() // यदि फ़ाइल मौजूद नहीं है तो इसे बनाता है\n println("फ़ाइल बनाई गई: ${file.absolutePath}")\n}\n\nध्यान दें: createNewFile() एक Boolean लौटाता है — true यदि फ़ाइल बनाई गई, और false यदि वह पहले से मौजूद है। निर्देशिकाएँ बनाने के लिए mkdir() या mkdirs() विधि का उपयोग किया जाता है (यह सभी लापता पैरेंट फ़ोल्डर बनाता है):
fun main() {\n val dir = File("myFolder/subFolder")\n if (dir.mkdirs()) {\n println("निर्देशिका बनाई गई: ${dir.absolutePath}")\n } else {\n println("निर्देशिका बनाने में विफल")\n }\n}\n\nफ़ाइल से डेटा पढ़ना
\n\nKotlin में फ़ाइल पढ़ने के कई तरीके हैं। आइए सबसे लोकप्रिय तरीकों पर विचार करें।
\n\nपूरी फ़ाइल को एक साथ पढ़ना
\n\nयदि फ़ाइल छोटी है, तो इसकी सामग्री को एक स्ट्रिंग या स्ट्रिंग्स की सूची में पढ़ना सुविधाजनक है:
\n\nfun main() {\n val file = File("readme.txt")\n \n // पूरे टेक्स्ट को एक स्ट्रिंग में पढ़ना\n val text: String = file.readText()\n println("फ़ाइल की सामग्री:\\n$text")\n \n // पंक्ति-दर-पंक्ति पढ़ना\n val lines: List<String> = file.readLines()\n lines.forEach { println("पंक्ति: $it") }\n}\n\nreadText() विधि एक स्ट्रिंग लौटाती है, जबकि readLines() स्ट्रिंग्स की एक सूची लौटाती है। दोनों विधियाँ पढ़ने के बाद फ़ाइल को स्वचालित रूप से बंद कर देती हैं, जो सुरक्षित और सुविधाजनक है।
बफ़रिंग के साथ पंक्ति-दर-पंक्ति पढ़ना
\n\nबड़ी फ़ाइलों के लिए, पूरी फ़ाइल को मेमोरी में लोड करने से बचने के लिए BufferedReader का उपयोग करना बेहतर है:
fun main() {\n val file = File("large_file.txt")\n file.bufferedReader().use { reader ->\n var line: String?\n while (reader.readLine().also { line = it } != null) {\n println("पढ़ रहे हैं: $line")\n }\n }\n}\n\n.use { } निर्माण यह सुनिश्चित करता है कि ब्लॉक के काम पूरा होने के बाद संसाधन बंद हो जाएगा, भले ही कोई अपवाद उत्पन्न हो।