import com.github.mygreen.supercsv.io.CsvAnnotationBeanReader; import com.github.mygreen.supercsv.io.CsvAnnotationBeanWriter; import com.github.mygreen.supercsv.io.CsvAnnotationBeanReader<T>; import com.github.mygreen.supercsv.io.CsvAnnotationBeanWriter<T>; import com.github.mygreen.supercsv.io.CsvValidationException; import com.github.mygreen.supercsv.validation.CsvConstraintViolation; import com.github.mygreen.supercsv.validation.CsvValidationResult; public class Person { @CsvLength(max=10) private String name; @CsvNumberRange(min=1, max=99) private int age; } public List<Person> readAndValidateCsvFile(String filePath) { try(CsvAnnotationBeanReader<Person> csvReader = new CsvAnnotationBeanReader<>(Person.class, new FileReader(filePath))) { CsvValidationResult<Person> validationResult = csvReader.readWithValidation(); if(validationResult.getErrorMessages().isEmpty()) { return validationResult.getBeans(); } else { List<CsvConstraintViolation<Person>> violations = validationResult.getCsvConstraintViolations(); for(CsvConstraintViolation<Person> violation : violations) { System.err.println(violation.getMessage()); } return Collections.emptyList(); } e.printStackTrace(); return Collections.emptyList(); } } public void writeAndValidateCsvFile(List<Person> persons, String filePath) { try(CsvAnnotationBeanWriter<Person> csvWriter = new CsvAnnotationBeanWriter<>(Person.class, new FileWriter(filePath))) { CsvValidationResult<Person> validationResult = csvWriter.writeWithValidation(persons); if(validationResult.getErrorMessages().isEmpty()) { } else { List<CsvConstraintViolation<Person>> violations = validationResult.getCsvConstraintViolations(); for(CsvConstraintViolation<Person> violation : violations) { System.err.println(violation.getMessage()); } } e.printStackTrace(); } }


上一篇:
下一篇:
切换中文