2013-08-12 5 views
1

Я хочу проверить файл csv. Он был преобразован из файла excel, который содержит числовые, даты, логические, текстовые поля. Поэтому мне нужно проверить файл csv. Я использовал один Csvvalidator, но он работает неправильно.Как я могу проверить файлы csv с типами данных, типом электронной почты, булевым типом?

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, "|"); 

Превосходный и csv имеет 21 поле, но когда я его скомпилирую, он говорит об этом.

Строка 1 недействительна, содержит 165 обязательных 21 поля.

строка 2 является недействительным, содержит 157 необходимых 21 полей

линии 3 является недействительным, содержит 161 необходимых 21 полей.

линия 4 недействителен, содержит 137 необходимых 21 полей

ответ

2

Try SuperCSV - это позволяет легко читать файл и определить тип для каждого столбца в строке.

Смежные вопросы