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

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

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

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

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



फ़ाइल सिस्टम के साथ कार्य करना सॉफ्टवेयर विकास में मूलभूत कार्यों में से एक है। Kotlin, एक आधुनिक भाषा होने के नाते, फ़ाइलों और निर्देशिकाओं के प्रबंधन के लिए शक्तिशाली और संक्षिप्त उपकरण प्रदान करता है। Java के साथ पूर्ण संगतता के कारण, आप क्लासिक Java लाइब्रेरीज़ (java.io.File, java.nio.file) और Kotlin एक्सटेंशन दोनों का उपयोग कर सकते हैं, जो कोड को अधिक पठनीय और सुरक्षित बनाते हैं।



इस लेख में, हम Kotlin में फ़ाइल सिस्टम के साथ बुनियादी संचालनों पर चर्चा करेंगे: फ़ाइलों और फ़ोल्डरों का निर्माण, पढ़ना, लिखना, कॉपी करना और हटाना। आप सीखेंगे कि कुशल कोड लिखने के लिए मानक Java क्लासेस और Kotlin शैली दोनों का उपयोग कैसे करें।



फ़ाइलों के साथ कार्य के लिए मुख्य क्लासेस और Kotlin एक्सटेंशन



Kotlin के पास फ़ाइल सिस्टम के साथ कार्य करने के लिए अपनी कोई अलग लाइब्रेरी नहीं है, लेकिन यह java.io.File क्लास के लिए कई उपयोगी एक्सटेंशन फ़ंक्शन प्रदान करता है। ये फ़ंक्शन कोड को अधिक संक्षिप्त और अभिव्यंजक बनाते हैं। नीचे उनमें से सबसे महत्वपूर्ण सूचीबद्ध हैं:



  • readText() — पूरी फ़ाइल को एक स्ट्रिंग के रूप में पढ़ता है।
  • readLines() — फ़ाइल को पंक्ति दर पंक्ति पढ़ता है और स्ट्रिंग्स की सूची लौटाता है।
  • writeText() — फ़ाइल में एक स्ट्रिंग लिखता है (ओवरराइट करता है)।
  • appendText() — फ़ाइल के अंत में एक स्ट्रिंग जोड़ता है।
  • bufferedReader() — कुशल पढ़ने के लिए BufferedReader लौटाता है।
  • bufferedWriter() — कुशल लिखने के लिए BufferedWriter लौटाता है।
  • inputStream() और outputStream() — बाइनरी डेटा के साथ कार्य करने के लिए।
  • copyTo() — फ़ाइल को दूसरे स्थान पर कॉपी करता है।
  • deleteRecursively() — फ़ाइल या निर्देशिका को पुनरावर्ती रूप से हटाता है।


उपयोग का उदाहरण:

import java.io.File

fun main() { val file = File("example.txt")

// फ़ाइल में टेक्स्ट लिखना file.writeText("नमस्ते, Kotlin!")

// फ़ाइल से टेक्स्ट पढ़ना val content = file.readText() println(content) // आउटपुट: नमस्ते, Kotlin!

// टेक्स्ट जोड़ना file.appendText("नई पंक्ति") println(file.readText())}


Java NIO का उपयोग (Path और Files)

अधिक जटिल संचालनों के लिए, जैसे कि स्थानांतरण, विकल्पों के साथ कॉपी करना या सिम्बोलिक लिंक के साथ कार्य करना, Java NIO (java.nio.file.Path और java.nio.file.Files) का उपयोग करने की अनुशंसा की जाती है। Kotlin बिना किसी प्रतिबंध के इन क्लासेस का भी समर्थन करता है।



import java.nio.file.Filesimport java.nio.file.Pathimport java.nio.file.Paths

fun main() { val path: Path = Paths.get("nio_example.txt") val content = "NIO के लिए टेक्स्ट"

// Files.write का उपयोग करके लिखना Files.write(path, content.toByteArray())

// Files.readAllLines का उपयोग करके पढ़ना val lines = Files.readAllLines(path) lines.forEach { println(it) }}


फ़ाइलों को पढ़ना और लिखना: सर्वोत्तम अभ्यास



फ़ाइलों के साथ कार्य करते समय, डेटा के आकार और संभावित त्रुटियों (जैसे फ़ाइल का न होना या एक्सेस अधिकार) पर विचार करना महत्वपूर्ण है। Kotlin use और runCatching के साथ अपवादों को संभालने के सुविधाजनक तरीके प्रदान करता है।



बड़ी फ़ाइलों को पढ़ना

बड़ी फ़ाइलों (कुछ मेगाबाइट से अधिक) को पढ़ने के लिए readText() का उपयोग करने की अनुशंसा नहीं की जाती है, क्योंकि यह पूरी फ़ाइल को मेमोरी में लोड करता है। इसके बजाय, स्ट्रीम प्रोसेसिंग का उपयोग करें:



import java.io.File

fun readLargeFile(filePath: String) { val file = File(filePath) file.bufferedReader().use { reader -> var line: String? while (reader.readLine().also { line = it } != null) { // प्रत्येक पंक्ति को प्रोसेस करें println(line) } }}


ब्लॉग

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