import org.supercsv.io.CsvBeanReader; import org.supercsv.io.CsvBeanWriter; import org.supercsv.prefs.CsvPreference; public class Person { private String name; private int age; } public List<Person> readCSV(String filePath) { try (Reader reader = new FileReader(filePath); CsvBeanReader csvReader = new CsvBeanReader(reader, CsvPreference.STANDARD_PREFERENCE)) { String[] header = csvReader.getHeader(true); CellProcessor[] processors = new CellProcessor[] { new NotNull(), new ParseInt() }; List<Person> persons = new ArrayList<>(); Person person; while ((person = csvReader.read(Person.class, header, processors)) != null) { persons.add(person); } return persons; } catch (IOException e) { e.printStackTrace(); } return null; } public void writeCSV(String filePath, List<Person> persons) { try (Writer writer = new FileWriter(filePath); CsvBeanWriter csvWriter = new CsvBeanWriter(writer, CsvPreference.STANDARD_PREFERENCE)) { String[] header = { "name", "age" }; CellProcessor[] processors = new CellProcessor[] { new NotNull(), new Optional() }; csvWriter.writeHeader(header); for (Person person : persons) { csvWriter.write(person, header, processors); } } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { SuperCSVExample example = new SuperCSVExample(); List<Person> persons = example.readCSV("input.csv"); example.writeCSV("output.csv", persons); }


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