Am using supercsv CsvBeanWriter для записи значений в файл csv.Как написать список <String> в файл csv и прочитать его обратно с помощью supercsv
образец класс:
public class Employee {
private String name;
private int empId;
List<String> phoneNumbers;
}
Выход я получаю:
name,empId,phoneNumbers
vijay,1,"[123, 456]"
Обратите внимание, как List<String> phoneNumbers
написано в []
Мой вопрос, как я могу читать его обратно Employee class (bean) с использованием supercsv.
Я пробовал использовать CsvBeanReader
& CsvDozerBeanReader
, но не смог прочитать List<String>
.
Я получаю исключение нелегальной торговли. Будем благодарны за любые указатели!
Полный код:
public class DozerBeanReader {
public static void main(String [] args){
ICsvDozerBeanReader beanReader = null;
try {
beanReader = new CsvDozerBeanReader(new FileReader("Employee.csv"),
CsvPreference.STANDARD_PREFERENCE);
String [] header = beanReader.getHeader(true); // ignore the header
Class<?> [] hintTypes = {String.class, Integer.class, List.class};
beanReader.configureBeanMapping(Employee.class, header, hintTypes);
Employee readEmp1 = beanReader.read(Employee.class);
readEmp1.toString();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Любая идея, как установить String [] fieldMapping когда Я точно не знаю, сколько элементов в списке? – Vijay