Spring 如何使用数据类型、电子邮件类型、布尔类型验证csv文件?

Spring 如何使用数据类型、电子邮件类型、布尔类型验证csv文件?,spring,csv,validation,Spring,Csv,Validation,我想验证csv文件。它已从包含数字、日期、布尔值和文本字段的excel文件转换而来。所以我需要验证csv文件。我用过一个Csvvalidator,但它不能正常工作 List<Field> list = new ArrayList<Field>(); list.add(new Field(1, Type.TEXT, notOptional)); //emailaddress list.add(new Fi

我想验证csv文件。它已从包含数字、日期、布尔值和文本字段的excel文件转换而来。所以我需要验证csv文件。我用过一个Csvvalidator,但它不能正常工作

List<Field> list = new ArrayList<Field>();

        list.add(new Field(1, Type.TEXT, notOptional));                 //emailaddress  
        list.add(new Field(2, Type.TEXT, notOptional));                 //firstname
        list.add(new Field(3, Type.TEXT, notOptional));                 //middlename
        list.add(new Field(4, Type.TEXT, optional));                    //lastname
        list.add(new Field(5, Type.DATE, optional));                    //dob
        list.add(new Field(6, Type.TEXT, notOptional));                 //gender
        list.add(new Field(7, Type.TEXT, optional));                    //altemailaddress
        list.add(new Field(8, Type.TEXT, optional));                    //currentStreet1
        list.add(new Field(9, Type.TEXT, optional));                    //currentStreet2
        list.add(new Field(10, Type.TEXT, optional));                   //currentCity
        list.add(new Field(11, Type.TEXT, optional));                   //currentState
        list.add(new Field(12, Type.NUMBER, optional));                 //currentPincode
        list.add(new Field(13, Type.TEXT, optional));                   //permanentStreet1
        list.add(new Field(14, Type.TEXT, optional));                   //permanentStreet2
        list.add(new Field(15, Type.TEXT, optional));                   //permanentCity
        list.add(new Field(16, Type.TEXT, optional));                   //permanentState
        list.add(new Field(17, Type.NUMBER, optional));                 //permanentPincode
        list.add(new Field(18, Type.NUMBER, optional));                 //mobile
        list.add(new Field(19, Type.NUMBER, notOptional));              //phone
        list.add(new Field(20, Type.TEXT, optional));                   //emailsubscription
        list.add(new Field(21, Type.TEXT, optional));                   //mobilesubscription
        System.out.println(list.size());

        CsvValidator validator = new CsvValidatorImpl(AppConstants.OUTPUT_FILE, list, "|");
List List=new ArrayList();
添加(新字段(1,Type.TEXT,非可选))//电子邮件地址
添加(新字段(2,Type.TEXT,非可选))//名字
添加(新字段(3,Type.TEXT,非可选))//中间名
添加(新字段(4,Type.TEXT,可选))//姓氏
添加(新字段(5,Type.DATE,可选))//多巴哥
添加(新字段(6,Type.TEXT,非可选))//性别
添加(新字段(7,Type.TEXT,可选))//备用电子邮件地址
添加(新字段(8,Type.TEXT,可选))//当前街道1
添加(新字段(9,Type.TEXT,可选))//当前街道2
添加(新字段(10,Type.TEXT,可选))//当前城市
添加(新字段(11,Type.TEXT,可选))//当前状态
添加(新字段(12,Type.NUMBER,可选))//电流pincode
添加(新字段(13,Type.TEXT,可选))//永久街1
添加(新字段(14,Type.TEXT,可选))//永久街2
添加(新字段(15,Type.TEXT,可选))//永久性
添加(新字段(16,Type.TEXT,可选))//永久状态
添加(新字段(17,Type.NUMBER,可选))//永久pincode
添加(新字段(18,Type.NUMBER,可选))//可移动的
列表.添加(新字段(19,Type.NUMBER,非可选))//电话
添加(新字段(20,Type.TEXT,可选))//电子邮件订阅
添加(新字段(21,Type.TEXT,可选))//手机订阅
System.out.println(list.size());
CsvValidator validator=新的CsvValidatorImpl(AppConstants.OUTPUT_文件,列表,“|”);
excel和csv有21个字段,但当我编译它时,它会显示这些内容

第1行无效,包含165个必需的21个字段

第2行无效,包含157个必需的21个字段

第3行无效,包含161个必填字段

第4行无效,包含137个必需的21个字段

Try-它允许您轻松读取文件并为行中的每一列定义类型