जावा में CSV के साथ कार्य: पूर्ण गाइड
CSV (कॉमा-सेपरेटेड वैल्यूज़) — सारणीबद्ध डेटा को संग्रहीत और आदान-प्रदान करने के लिए सबसे लोकप्रिय प्रारूपों में से एक है। जावा में CSV फ़ाइलों के साथ कार्य करने के कई तरीके हैं: मैन्युअल पार्सिंग से लेकर विशेष लाइब्रेरीज़ के उपयोग तक। इस लेख में हम मुख्य दृष्टिकोणों पर विचार करेंगे, जिसमें जावा के मानक टूल और लोकप्रिय तृतीय-पक्ष लाइब्रेरीज़ शामिल हैं।
1. मानक दृष्टिकोण: मैन्युअल रूप से CSV पढ़ना
सरल प्रोजेक्ट्स के लिए, आप तृतीय-पक्ष लाइब्रेरीज़ के बिना काम चला सकते हैं। BufferedReader और String.split() का उपयोग करें:
import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;import java.util.ArrayList;import java.util.List;
public class SimpleCSVReader { public static List<String[]> readCSV(String filePath) { List<String[]> rows = new ArrayList<>(); String line; try (BufferedReader br = new BufferedReader(new FileReader(filePath))) { while ((line = br.readLine()) != null) { String[] values = line.split(","); rows.add(values); } } catch (IOException e) { e.printStackTrace(); } return rows; } public static void main(String[] args) { List<String[]> data = readCSV("data.csv"); for (String[] row : data) { System.out.println(String.join(" | ", row)); } }}कमियां: यह कोट्स, फ़ील्ड के अंदर कॉमा के एस्केपिंग, और लाइन ब्रेक को हैंडल नहीं करता। प्रोडक्शन के लिए लाइब्रेरीज़ का उपयोग करना बेहतर है।
2. OpenCSV — शक्तिशाली और सरल लाइब्रेरी
OpenCSV — जावा में CSV के साथ कार्य करने के लिए सबसे लोकप्रिय लाइब्रेरीज़ में से एक है। यह पार्सिंग की सभी समस्याओं को हल करती है: कोट्स, एस्केपिंग, विभिन्न विभाजक।
स्थापना (Maven):
<dependency> <groupId>com.opencsv</groupId> <artifactId>opencsv</artifactId> <version>5.9</version></dependency>OpenCSV के साथ CSV पढ़ना:
import com.opencsv.CSVReader;import com.opencsv.exceptions.CsvValidationException;import java.io.FileReader;import java.io.IOException;
public class OpenCSVReader { public static void main(String[] args) { try (CSVReader reader = new CSVReader(new FileReader("data.csv"))) { String[] nextLine; while ((nextLine = reader.readNext()) != null) { System.out.println(String.join(" | ", nextLine)); } } catch (IOException | CsvValidationException e) { e.printStackTrace(); } }}OpenCSV के साथ CSV लिखना:
import com.opencsv.CSVWriter;import java.io.FileWriter;import java.io.IOException;
public class OpenCSVWriter { public static void main(String[] args) { String[] header = {"Name", "Age", "Email"}; String[] row1 = {"Alice", "30", "alice@example.com"}; String[] row2 = {"Bob", "25", "bob@example.com"}; try (CSVWriter writer = new CSVWriter(new FileWriter("output.csv"))) { writer.writeNext(header); writer.writeNext(row1); writer.writeNext(row2); } catch (IOException e) { e.printStackTrace(); } }}3. Apache Commons CSV — लचीलापन और प्रदर्शन
Apache Commons CSV — एक और शक्तिशाली लाइब्रेरी है जो विभिन्न प्रारूपों (CSV, TSV, Excel) का समर्थन करती है।
स्थापना (Maven):
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-csv</artifactId> <ver