import com.univocity.parsers.csv.CsvParser;
import com.univocity.parsers.csv.CsvParserSettings;
import com.univocity.parsers.csv.CsvWriter;
import com.univocity.parsers.csv.CsvWriterSettings;
import com.univocity.parsers.conversions.Conversions;
import com.univocity.parsers.common.ParsingContext;
import com.univocity.parsers.common.processor.ObjectRowProcessor;
import com.univocity.parsers.common.processor.RowProcessor;
import java.io.*;
import java.util.List;
public class DataConversionExample {
public static void main(String[] args) throws IOException {
CsvParserSettings parserSettings = new CsvParserSettings();
parserSettings.getFormat().setLineSeparator("
");
CsvParser parser = new CsvParser(parserSettings);
List<String[]> rows = parser.parseAll(new FileReader("input.csv"));
ObjectRowProcessor rowProcessor = new ObjectRowProcessor();
rowProcessor.convertFields(Conversions.toBigDecimal()).set("price");
rowProcessor.convertFields(Conversions.toDate("yyyy-MM-dd")).set("date");
CsvWriterSettings writerSettings = new CsvWriterSettings();
CsvWriter writer = new CsvWriter(new FileWriter("output.csv"), writerSettings);
writer.writeHeaders(parser.getContext().headers());
RowProcessor processor = new RowProcessor();
processor.addRowProcessor(rowProcessor);
processor.convertAll(rows, parser.getContext());
for (String[] row : rows) {
writer.writeRow(row);
}
writer.close();
}
}