我试图使用BeanIO将CSV转换为POJO,发现一个问题可能会在一段时间内对您有所帮助。
这是我得到的错误"记录'user'中,流'userTemplate'中的字段'LastName'无效:类'com.mycompany.beanio.user'中没有这样的属性'LastName]"
<beanio xmlns="http://www.beanio.org/2012/03" xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:schemaLocation="http://www.beanio.org/2012/03 http://www.beanio.org/2012/03/mapping.xsd">
<stream name="userTemplate" format="csv">
<record name="user" class="com.mycompany.beanio.User">
<field name="FirstName"/>
<field name="LastName"/>
<field name="Email" />
</record>
</stream>
</beanio>
这是我的java类
package com.mycompany.beanio;
import org.apache.commons.lang3.RandomStringUtils;
import java.math.BigDecimal;
/**
*
* @author Yoash izhack yoashos@gmail.com
*/
class User
{
private String FirstName;
private String LastName;
private String Email;
Get&Set dwon here
正如你所看到的,在我的类中确实有这个属性,但我有一个例外。我对它进行了探索,发现从java类编写的属性对于第一个字符是不加怜悯的。这意味着尽管我写了两次lastName,但lastName和lastName之间还是有比较的。已提交此错误的修复程序。
以Java标准中未加区分的字母开始属性名称。因此,如果你将你的属性更改为标准,所有的工作都将是完美的。