अपडेट: इस उत्तर में कोड सुपर सीएसवी 1.52 के लिए है। सुपर सीएसवी 2.4.0 के लिए अद्यतन कोड उदाहरण परियोजना की वेबसाइट पर देखे जा सकते हैं:
http://super-csv.github.io/super-csv/index.html
सुपरसीवीवी परियोजना सीधे सीएसवी कोशिकाओं के पार्सिंग और संरचित हेरफेर का समर्थन करती है। से http://super-csv.github.io/super-csv/examples_reading.html आप मिल जाएगा जैसे
एक वर्ग दिया
public class UserBean {
String username, password, street, town;
int zip;
public String getPassword() { return password; }
public String getStreet() { return street; }
public String getTown() { return town; }
public String getUsername() { return username; }
public int getZip() { return zip; }
public void setPassword(String password) { this.password = password; }
public void setStreet(String street) { this.street = street; }
public void setTown(String town) { this.town = town; }
public void setUsername(String username) { this.username = username; }
public void setZip(int zip) { this.zip = zip; }
}
और आपके पास एक हेडर के साथ एक सीएसवी फ़ाइल है। चलो निम्नलिखित सामग्री मान लेते हैं
username, password, date, zip, town
Klaus, qwexyKiks, 17/1/2007, 1111, New York
Oufu, bobilop, 10/10/2007, 4555, New York
फिर आप UserBean का एक उदाहरण बना सकते हैं और इसे निम्नलिखित कोड के साथ फाइल की दूसरी पंक्ति के मानों के साथ पॉप्युलेट कर सकते हैं
class ReadingObjects {
public static void main(String[] args) throws Exception{
ICsvBeanReader inFile = new CsvBeanReader(new FileReader("foo.csv"), CsvPreference.EXCEL_PREFERENCE);
try {
final String[] header = inFile.getCSVHeader(true);
UserBean user;
while( (user = inFile.read(UserBean.class, header, processors)) != null) {
System.out.println(user.getZip());
}
} finally {
inFile.close();
}
}
}
निम्नलिखित "हेरफेर विनिर्देश" का उपयोग करना
final CellProcessor[] processors = new CellProcessor[] {
new Unique(new StrMinMax(5, 20)),
new StrMinMax(8, 35),
new ParseDate("dd/MM/yyyy"),
new Optional(new ParseInt()),
null
};