कोटलिन में फ़ाइल सिस्टम के साथ कार्य: व्यावहारिक रूप से

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

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

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

परिचय



फ़ाइल सिस्टम के साथ कार्य करना किसी भी प्रोग्रामिंग भाषा में मूलभूत कार्यों में से एक है। Kotlin में, इसके संक्षिप्त सिंटैक्स और Java मानक लाइब्रेरी के शक्तिशाली एक्सटेंशन के कारण, फ़ाइलों और निर्देशिकाओं के साथ संचालन करना सरल और सहज हो जाता है।



इस लेख में हम व्यावहारिक रूप से मुख्य संचालनों को समझेंगे: फ़ाइलों और फ़ोल्डरों का निर्माण, पढ़ना, लिखना, कॉपी करना, स्थानांतरित करना और हटाना। सभी उदाहरण Kotlin में लिखे गए हैं और आपके प्रोजेक्ट में उपयोग के लिए तैयार हैं। यह सामग्री शुरुआती और अनुभवी डेवलपर्स दोनों के लिए उपयोगी होगी, जो अपने ज्ञान को ताज़ा करना चाहते हैं या दैनिक कार्यों के लिए इष्टतम समाधान खोजना चाहते हैं।



मुख्य क्लासेस और इम्पोर्ट्स



Kotlin में फ़ाइल सिस्टम के साथ कार्य करने के लिए java.io पैकेज (जैसे, File) और java.nio.file पैकेज (जैसे, Path, Files) के क्लासेस का उपयोग किया जाता है। आधुनिक सिफारिशें java.nio.file को प्राथमिकता देती हैं, क्योंकि यह API अधिक प्रदर्शनशील और सुविधाजनक है।



सभी उदाहरणों के लिए हमें निम्नलिखित इम्पोर्ट्स की आवश्यकता होगी:



import java.io.Fileimport java.nio.file.Pathimport java.nio.file.Pathsimport java.nio.file.Filesimport java.nio.file.StandardCopyOptionimport java.nio.file.StandardOpenOption


फ़ाइल और निर्देशिका बनाना



सबसे सरल से शुरू करते हैं — एक नई फ़ाइल और फ़ोल्डर बनाना।



// निर्देशिका बनानाval dir = File("my_directory")if (!dir.exists()) {    dir.mkdirs() // mkdirs() सभी लापता पैरेंट निर्देशिकाएँ बनाता है    println("निर्देशिका बनाई गई: ${dir.absolutePath}")}

// फ़ाइल बनानाval file = File(dir, "example.txt")if (!file.exists()) { file.createNewFile() println("फ़ाइल बनाई गई: ${file.absolutePath}")}


ध्यान दें: mkdirs() निर्देशिकाओं की पूरी श्रृंखला बनाता है यदि वह मौजूद नहीं है। mkdir() केवल अंतिम निर्देशिका बनाता है और यदि पैरेंट फ़ोल्डर मौजूद नहीं है तो false लौटाता है।



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



ये सबसे सामान्य संचालन हैं। Kotlin फ़ाइलों की सामग्री के साथ कार्य करने के लिए कई सुरुचिपूर्ण तरीके प्रदान करता है।



फ़ाइल में लिखना



val path = Paths.get("my_directory/write_example.txt")

// लिखने के लिए स्ट्रिंगval content = "नमस्ते, दुनिया! यह स्ट्रिंग फ़ाइल में लिखी गई है।दूसरी पंक्ति।"

// स्ट्रिंग का सरल लेखन (फ़ाइल को ओवरराइट करता है)Files.writeString(path, content)

// पंक्तियों की सूची लिखनाval lines = listOf("पंक्ति 1", "पंक्ति 2", "पंक्ति 3")Files.write(path, lines)

// फ़ाइल के अंत में जोड़नाval additionalContent = "अतिरिक्त पंक्ति।"Files.writeString(path, additionalContent, StandardOpenOption.APPEND)


Files.writeString() विधि Java 11 में दिखाई दी और Kotlin/JVM में उपलब्ध है। यदि आपको पुराने संस्करणों के लिए समर्थन की आवश्यकता है, तो एन्कोडिंग निर्दिष्ट करके Files.write() का उपयोग करें।



फ़ाइल से पढ़ना



val path = Paths.get("my_directory/write_example.txt")

// पूरी सामग्री को स्ट्रिंग में पढ़नाval fullContent = Files.readString(path)println("फ़ाइल की सामग्री:$fullContent")

// पंक्तियों की सूची में पढ़नाval allLines: List<String> = Files.readAllLines(path)allLines.forEachIndexed { index, line -> println("पंक्ति ${index + 1}: $line")}

// Stream का उपयोग करके पढ़ना (बड़ी फ़ाइलों के लिए)Files.lines(path).use { stream -> stream.forEach { line -> println("पंक्ति संसाधित कर रहा हूँ: $line") }}


.use { ... } संरचना प्रसंस्करण के बाद स्ट्रीम को बंद करने की गारंटी देती है, जो बड़ी फ़ाइलों के साथ काम करते समय विशेष रूप से महत्वपूर्ण है।



कॉपी करना, स्थानांतरित करना और नाम बदलना



ये संचालन भी java.nio.file.Files के माध्यम से कार्यान्वित किए जाते हैं।



फ़ाइल कॉपी करना



val source = Paths.get("my_directory/example.txt")val destination = Paths.get("my_directory/backup/example_copy.txt")

ब्लॉग

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