1
我正在使用univocity將一些文件解析爲javabeans。這些bean是編譯的類。但是我希望在運行時生成這些類,然後將這些文件解析爲運行時生成的類。Univocity - 是否可以將文件解析爲運行時生成的bean /類?
全部代碼是在這裏:gist
的代碼片段使用了單義庫:
private static void parseBean(final Class<?> dynamicClass) throws FileNotFoundException {
@SuppressWarnings("unchecked")
final BeanListProcessor<?> rowProcessor = new BeanListProcessor<Class<?>>((Class<Class<?>>) dynamicClass);
final CsvParserSettings parserSettings = new CsvParserSettings();
parserSettings.setProcessor(rowProcessor);
parserSettings.setHeaderExtractionEnabled(false);
parserSettings.getFormat().setDelimiter('|');
parserSettings.setEmptyValue("");
parserSettings.setNullValue("");
final CsvParser parser = new CsvParser(parserSettings);
parser.parse(new FileReader("src/main/resources/person.csv"));
final List<?> beans = rowProcessor.getBeans();
for (final Object domain : beans) {
final Domain domainImpl = (Domain) domain;
System.out.println("Person id is: " + domainImpl.getIdentifier());
System.out.println("Person name is: " + domainImpl.getColumnByIndex(1));
System.out.println();
}
}
文件看起來是這樣的:
0|Eric
1|Maria
所有數值似乎爲空,所以當解析文件並將其映射到bean時出現問題...
Person id is: null
Person name is: null
是否可以使用Univocity庫將文件解析爲運行時生成的bean /類?
工程就像一個魅力。感謝您指出錯誤生成的註釋代碼,並感謝更多的代碼修復。 –