import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
import com.github.tsohr.slf4j.LoggerFactory;
import com.univocity.parsers.common.processor.RowListProcessor;
import com.univocity.parsers.csv.CsvParser;
import com.univocity.parsers.csv.CsvParserSettings;
import com.univocity.parsers.csv.ValidationResult;
import com.univocity.parsers.csv.ValidationResult;
import com.univocity.parsers.csv.validation.Validator;
public class CSVValidatorExample {
public static void main(String[] args) {
Path csvFilePath = Paths.get("test.csv");
CsvParserSettings settings = new CsvParserSettings();
settings.getFormat().setLineSeparator("
");
settings.setHeaderExtractionEnabled(true);
Validator validator = new Validator();
validator.validateNotEmpty("column1", "column2", "column3");
validator.validateEmail("email");
settings.setProcessor(new RowListProcessor() {
@Override
public void rowProcessed(String[] row, ParsingContext context) {
ValidationResult validationResult = validator.validate(row, context);
super.rowProcessed(row, context);
if (!validationResult.isValid()) {
System.out.println(validationResult);
}
}
});
CsvParser parser = new CsvParser(settings);
try {
List<String[]> rows = parser.parseAll(Files.newBufferedReader(csvFilePath));
//...
} catch (IOException e) {
e.printStackTrace();
}
}
}