जावा में CSV के साथ कार्य: OpenCSV, Apache Commons CSV और Java Scanner लाइब्रेरीज़

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

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

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

जावा में CSV के साथ कार्य: लाइब्रेरीज़ का अवलोकन और उदाहरण

\n\n

CSV (कॉमा-सेपरेटेड वैल्यूज़) — सारणीबद्ध डेटा के आदान-प्रदान के लिए सबसे सामान्य प्रारूपों में से एक है। स्पष्ट सरलता के बावजूद, जावा में मैन्युअल CSV पार्सिंग कोट्स के एस्केपिंग, नेस्टेड कॉमा और विभिन्न एन्कोडिंग के कारण त्रुटियाँ उत्पन्न कर सकता है। इस लेख में हम तीन मुख्य दृष्टिकोणों पर विचार करेंगे: OpenCSV, Apache Commons CSV और मानक java.util.Scanner का उपयोग।

\n\n

1. OpenCSV — लचीली और लोकप्रिय लाइब्रेरी

\n\n

OpenCSV — एक हल्की, ओपन-सोर्स लाइब्रेरी है जो CSV, TSV और अन्य विभाजकों को पढ़ने और लिखने का समर्थन करती है। यह स्वचालित रूप से एस्केपिंग, कोट्स और मल्टी-लाइन फ़ील्ड को संभालती है।

\n\n

कनेक्शन (Maven)

\n
<dependency>\n    <groupId>com.opencsv</groupId>\n    <artifactId>opencsv</artifactId>\n    <version>5.9</version>\n</dependency>\n
\n\n

उदाहरण: CSV को ऑब्जेक्ट्स की सूची में पढ़ना

\n
import com.opencsv.CSVReader;\nimport com.opencsv.bean.CsvToBean;\nimport com.opencsv.bean.HeaderColumnNameMappingStrategy;\nimport java.io.FileReader;\nimport java.util.List;\n\npublic class OpenCSVExample {\n    public static void main(String[] args) throws Exception {\n        try (FileReader reader = new FileReader("users.csv")) {\n            // मैन्युअल पार्सिंग\n            CSVReader csvReader = new CSVReader(reader);\n            String[] line;\n            while ((line = csvReader.readNext()) != null) {\n                System.out.println("नाम: " + line[0] + ", ईमेल: " + line[1]);\n            }\n        }\n    }\n}\n
\n\n

उदाहरण: Java Bean पर मैपिंग

\n
public class User {\n    private String name;\n    private String email;\n    // गेटर्स और सेटर्स\n}\n\n// मैपिंग के साथ पढ़ना\ntry (FileReader reader = new FileReader("users.csv")) {\n    HeaderColumnNameMappingStrategy<User> strategy = new HeaderColumnNameMappingStrategy<>();\n    strategy.setType(User.class);\n\n    CsvToBean<User> csvToBean = new CsvToBeanBuilder<User>(reader)\n            .withMappingStrategy(strategy)\n            .build();\n\n    List<User> users = csvToBean.parse();\n}\n
\n\n

2. Apache Commons CSV — Apache से मानक

\n\n

Apache Commons CSV — Apache Commons इकोसिस्टम का हिस्सा है। यह तैयार प्रारूप (RFC 4180, Excel, MySQL) और स्ट्रीम प्रोसेसिंग प्रदान करता है।

\n\n

कनेक्शन (Maven)

\n
<dependency>\n    <groupId>org.apache.commons</groupId>\n    <artifactId>commons-csv</artifactId>\n    <version>1.11.0</version>\n</dependency>\n
\n\n

उदाहरण: हेडर के साथ पढ़ना

\n
import org.apache.commons.csv.CSVFormat;\nimport org.apache.commons.csv.CSVParser;\nimport org.apache.commons.csv.CSVRecord;\nimport java.io.FileReader;\nimport java.io.Reader;\n\npublic class CommonsCSVExample {\n    public static void main(String[] args) throws Exception {\n        try (Reader reader = new FileReader("data.csv");\n             CSVParser parser = CSVFormat.DEFAULT\n                     .withFirstRecordAsHeader()\n                     .parse(reader)) {\n\n            for (CSVRecord record : parser) {\n                String id = record.get("ID");\n                String value = record.get("Value");\n                System.out.println(id + " -> " + value);\n            }\n        }\n    }\n}\n
\n\n

CSV लिखना

\n
import org.apache.commons.csv.CSVFormat;\nimport org.apache.commons.csv.CSVPrinter;\nimport java.io.FileWriter;\nimport java.io.Writer;\n\ntry (Writer writer = new FileWriter("output.csv");\n     CSVPrinter printer = CSVFormat.DEFAULT\n             .withHeader("नाम", "आयु")\n             .print(writer)) {\n\n    printer.printRecord("एलिस", 30);\n    printer.printRecord("बॉब", 25);\n}\n

अनुशंसाएँ