Hi all... I need read a CSV file and deserialize it in java objects.
I found this project : https://github.com/oasits/JSefa
Reading the docs and samples in project, I trying use this ideia to my case. this is my file:
|0000|departament1||
|0001|jones|ruberval|
|0001|usnave|capirot|
and my models:
Department.java
@CsvDataType(defaultPrefix="0000")
public class Department {
@CsvField(pos = 0)
String name;
@CsvSubRecordList(pos = 1, records = @Record(prefix = "0001"))
List<Employee> employees;
}
Employee.java
@CsvDataType(defaultPrefix="0001")
public class Employee {
@CsvField(pos = 0)
String name1;
@CsvField(pos = 1)
String name2;
}
Method to deserializer...
CsvConfiguration csvConfiguration = new CsvConfiguration();
csvConfiguration.setFieldDelimiter((char) 124);
Deserializer deserializer = CsvIOFactory.createFactory(csvConfiguration,Department.class).createDeserializer();
deserializer.open(textReader);
while (deserializer.hasNext()) {
Department parent = deserializer.next();
System.out.println(parent);
}
deserializer.close(true);
The Problem...
In my layout, the field to define a line type, is a second position, and not a first...
I read API docs but... not found configuration for this case..
Someone can help me? thanks...