जावा में CSV के साथ कार्य: लाइब्रेरीज़ का अवलोकन और उदाहरण
\n\nCSV (कॉमा-सेपरेटेड वैल्यूज़) — सारणीबद्ध डेटा के आदान-प्रदान के लिए सबसे सामान्य प्रारूपों में से एक है। स्पष्ट सरलता के बावजूद, जावा में मैन्युअल CSV पार्सिंग कोट्स के एस्केपिंग, नेस्टेड कॉमा और विभिन्न एन्कोडिंग के कारण त्रुटियाँ उत्पन्न कर सकता है। इस लेख में हम तीन मुख्य दृष्टिकोणों पर विचार करेंगे: OpenCSV, Apache Commons CSV और मानक java.util.Scanner का उपयोग।
1. OpenCSV — लचीली और लोकप्रिय लाइब्रेरी
\n\nOpenCSV — एक हल्की, ओपन-सोर्स लाइब्रेरी है जो 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 को ऑब्जेक्ट्स की सूची में पढ़ना
\nimport 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 पर मैपिंग
\npublic 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\n2. Apache Commons CSV — Apache से मानक
\n\nApache 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उदाहरण: हेडर के साथ पढ़ना
\nimport 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\nCSV लिखना
\nimport 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 पुस्तकालय में भी
Go (Golang) में कैशिंग: Redis, समूह और इन-मेमोरी कैशिंग
C++ में S3 और क्लाउड स्टोरेज के साथ कार्य: aws-sdk-cpp लाइब्रेरी
Java में CSV के साथ कार्य: OpenCSV और Apache Commons CSV लाइब्रेरीज़
Java के लिए OAuth क्लाइंट: लाइब्रेरीज़ और कोड उदाहरणों की समीक्षा