<dependency>
<groupId>com.github.mygreen</groupId>
<artifactId>simplecsv</artifactId>
<version>1.5.0</version>
</dependency>
import com.github.mygreen.supercsv.io.CsvAnnotationBeanReader;
import com.github.mygreen.supercsv.io.CsvAnnotationBeanWriter;
import com.github.mygreen.supercsv.io.CsvFileNameGenerator;
import com.github.mygreen.supercsv.io.CsvOrExcelFileFilter;
import java.io.File;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
public class SimplecsvExample {
public static void main(String[] args) {
readCsvFile();
writeCsvFile();
}
private static void readCsvFile() {
File csvFile = new File("data.csv");
try (CsvAnnotationBeanReader<SampleData> reader =
new CsvAnnotationBeanReader<>(SampleData.class, csvFile, "UTF-8")) {
List<SampleData> dataList = new ArrayList<>();
SampleData data;
while ((data = reader.read()) != null) {
dataList.add(data);
}
for (SampleData item : dataList) {
System.out.println(item);
}
} catch (Exception e) {
e.printStackTrace();
}
}
private static void writeCsvFile() {
File csvFile = new File("output.csv");
try (CsvAnnotationBeanWriter<SampleData> writer =
new CsvAnnotationBeanWriter<>(SampleData.class, csvFile, "UTF-8")) {
SampleData data1 = new SampleData(1, "John", new BigDecimal("1000.00"));
SampleData data2 = new SampleData(2, "Jane", new BigDecimal("2000.00"));
writer.write(data1);
writer.write(data2);
} catch (Exception e) {
e.printStackTrace();
}
}
}
class SampleData {
private int id;
private String name;
private BigDecimal amount;
@Override
public String toString() {
return "SampleData{" +
"id=" + id +
", name='" + name + '\'' +
", amount=" + amount +
'}';
}
}