<<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();