Kotlin:
CSV এর সাথে কাজ করা

কিভাবে:

Kotlin, একটি স্ট্যাটিকালি টাইপড প্রোগ্রামিং ভাষা যা JVM এ চলে, সিএসভি ফাইল সামলানোর জন্য কোন বিল্ট-ইন লাইব্রেরি অন্তর্ভুক্ত করে না। তবে, আপনি Java BufferedReader এবং FileWriter ক্লাসগুলি বেসিক অপারেশনের জন্য ব্যবহার করতে পারেন, অথবা kotlinx.serialization এবং opencsv এর মতো জনপ্রিয় থার্ড পার্টি লাইব্রেরিগুলির সাহায্যে আরো উন্নত কার্যক্ষমতা পাওয়া যায়।

BufferedReader ব্যবহার করে একটি CSV ফাইল পড়া:

import java.io.BufferedReader
import java.io.FileReader

fun main() {
    val path = "data.csv"
    val br = BufferedReader(FileReader(path))
    br.useLines { lines ->
        lines.forEach { line ->
            val cols = line.split(',')
            println(cols)
        }
    }
}

নমুনা আউটপুট:

[নাম, বয়স, শহর]
[জন ডো, ৩০, নিউ ইয়র্ক]
[জেন স্মিথ, ২৫, লন্ডন]

FileWriter ব্যবহার করে CSV ফাইলে লেখা:

import java.io.FileWriter

fun main() {
    val data = listOf(
        listOf("নাম", "বয়স", "শহর"),
        listOf("জন ডো", "৩০", "নিউ ইয়র্ক"),
        listOf("জেন স্মিথ", "২৫", "লন্ডন")
    )

    FileWriter("output.csv").use { writer ->
        data.forEach { row ->
            writer.write(row.joinToString(",") + "\n")
        }
    }
}

এটি output.csv নির্দিষ্ট ডেটা দিয়ে তৈরি অথবা উপরে লেখা হবে।

kotlinx.serialization ব্যবহার করে CSV সিরিয়ালাইজেশন:

প্রথমে, আপনার build.gradle.kts এ ডিপেন্ডেন্সি যোগ করুন:

implementation("org.jetbrains.kotlinx:kotlinx-serialization-csv:0.3.0")

নোট: সঠিক সংস্করণ এবং রিপোজিটরি কনফিগারেশন নিশ্চিত করুন।

তারপর, আপনার ডেটা ক্লাস ডিফাইন করুন এবং সিরিয়ালাইজেশনের জন্য Csv ফর্ম্যাট ব্যবহার করুন:

import kotlinx.serialization.Serializable
import kotlinx.serialization.csv.Csv
import kotlinx.serialization.encodeToString

@Serializable
data class যকি(val : String, val বয: Int, val শহর: String)

fun main() {
    val csvFormat = Csv { delimiter = ',' }
    val data = listOf(
        যকি("জন ডো", ৩০, "নিউ ইয়র্ক"),
        যকি("জেন স্মিথ", ২৫, "লন্ডন")
    )

    val csvData = csvFormat.encodeToString(data)
    println(csvData)
}

নমুনা আউটপুট:

জন ডো,৩০,নিউ ইয়র্ক
জেন স্মিথ,২৫,লন্ডন

উন্নত অপারেশনের জন্য OpenCSV ব্যবহার করা:

আপনার প্রজেক্টের ডিপেন্ডেন্সিগুলিতে OpenCSV যোগ করুন:

implementation("com.opencsv:opencsv:5.6")

OpenCSV সাথে পড়া এবং লেখা:

import com.opencsv.CSVReader
import com.opencsv.CSVWriter
import java.io.FileReader
import java.io.FileWriter

fun main() {
    // CSV পড়া
    CSVReader(FileReader("data.csv")).use { csvReader ->
        val entries = csvReader.readAll()
        entries.forEach { println(it.toList()) }
    }

    // CSV লেখা
    CSVWriter(FileWriter("output.csv")).use { csvWriter ->
        val entries = listOf(
            arrayOf("নাম", "বয়স", "শহর"),
            arrayOf("জন ডো", "৩০", "নিউ ইয়র্ক"),
            arrayOf("জেন স্মিথ", "২৫", "লন্ডন")
        )
        csvWriter.writeAll(entries)
    }
}

এই কোড ছোটকাটগুলি দেখায় যে, Kotlin যখন সিএসভি ফাইল নিয়ে কাজ করে তখন কিভাবে আপনার প্রজেক্টের প্রয়োজন অনুসারে সেরা পদ্ধতি চয়ন করার নমনীয়তা দেয়।