<<toc>></toc>
create and anotate bean class
@CSV @CsvAccessorType(CsvAccessType.NONE) public static class ExampleTestAnnotatedMethod { private String val1; private String val2; @CsvColumn public String getFirstName() { return val1; } public void setFirstName(String name) { val1 = name; } public String getLastName() { return val2; } @CsvColumn public void setLastName(String name) { val2 = name; } }
create objects
ArrayList<ExampleTestAnnotatedMethod> arrayList = new ArrayList<ExampleTestAnnotatedMethod>(); ExampleTestAnnotatedMethod bean1 = new ExampleTestAnnotatedMethod(); bean1.setFirstName("FName1"); bean1.setLastName("LName1"); arrayList.add(bean1); ExampleTestAnnotatedMethod bean2 = new ExampleTestAnnotatedMethod(); bean2.setFirstName("FName2"); bean2.setLastName("LName2"); arrayList.add(bean2);
and marshal data to CSV file
CsvContext<ExampleTestAnnotatedMethod> context = CsvContext.newInstance(ExampleTestAnnotatedMethod.class); Marshaller<ExampleTestAnnotatedMethod> marshaller = context.createMarshaller(); FileOutputStream outputStream = new FileOutputStream("example.csv"); marshaller.marshal(arrayList, outputStream);
Result in file example.csv must like this:
firstName,lastName
FName1,LName1
FName2,LName2
create and anotate bean class
@CSV @CsvAccessorType(CsvAccessType.NONE) public static class ExampleTestAnnotatedMethod { private String val1; private String val2; @CsvColumn public String getFirstName() { return val1; } public void setFirstName(String name) { val1 = name; } public String getLastName() { return val2; } @CsvColumn public void setLastName(String name) { val2 = name; } }
Create CSV file example.csv
firstName,lastName
FName1,LName1
FName2,LName2
CsvContext<ExampleTestAnnotatedMethod> context = CsvContext.newInstance(ExampleTestAnnotatedMethod.class); Unmarshaller<ExampleTestAnnotatedMethod> unmarshaller = context.createUnmarshaller(); FileInputStream inputStream = new FileInputStream("example.csv"); Iterable<ExampleTestAnnotatedMethod> iterable = unmarshaller.unmarshal(inputStream);
public class Bean { private final int id; private String key; public Bean(int id) { this.id = id; } public void setKey(String key) { this.key = key; } } CsvContext<TestBeanWithConstructor> context = CsvContext.builder() .targetClass(Bean.class) .columnNames("ID", "KEY") .columnDelimeter("|") .columnSetter("KEY", Bean::setKey, String.class) .columnField("ID", "id") .columnConstructorArgumentId("ID", 0, int.class) .build(); Unmarshaller<Bean> unmarshaller = context.createUnmarshaller();