ICsvBeanReader beanReader = new CsvBeanReader(new FileReader("data.csv"), CsvPreference.STANDARD_PREFERENCE);
Stream<Customer> customerStream = StreamSupport.stream(() -> beanReader.iterator(), Spliterator.ORDERED, false)
.map(Customer.class::cast)
.filter(customer -> customer.getAge() >= 18)
.filter(customer -> customer.getGender().equals(Gender.FEMALE))
.limit(10);
customerStream.forEach(customer -> System.out.println(customer.getName()));
beanReader.close();
List<Customer> customers = new ArrayList<>();
ICsvBeanWriter beanWriter = new CsvBeanWriter(new FileWriter("data.csv"), CsvPreference.STANDARD_PREFERENCE);
beanWriter.writeHeader("name", "age", "gender");
customers.forEach(customer ->
beanWriter.write(customer, "name", "age", "gender"));
beanWriter.close();
ICsvBeanReader beanReader = new CsvBeanReader(new FileReader("data.csv"), CsvPreference.STANDARD_PREFERENCE);
List<Customer> customers = new ArrayList<>();
String[] header = beanReader.getHeader(true);
ICsvDozerBeanReader dozerBeanReader = new CsvDozerBeanReader(new FileReader("data.csv"), CsvPreference.STANDARD_PREFERENCE);
dozerBeanReader.getHeader(true); // skip header
dozerBeanReader.configureBeanMapping(Customer.class, header);
Optional<Customer> optionalCustomer;
while ((optionalCustomer = dozerBeanReader.read(Customer.class, header, processors)).isPresent()) {
customers.add(optionalCustomer.get());
}
List<Customer> customers = new ArrayList<>();
ICsvBeanWriter beanWriter = new CsvBeanWriter(new FileWriter("data.csv"), CsvPreference.STANDARD_PREFERENCE);
beanWriter.writeHeader("name", "birthday", "gender");
customers.forEach(customer ->
beanWriter.write(customer, "name", "birthday", "gender"));
beanWriter.close();
CsvPreference.Builder builder = new CsvPreference.Builder('"', '\\', "\r
");
CsvPreference customPreference = builder.build();
ICsvBeanReader beanReader = new CsvBeanReader(new FileReader("data.csv"), customPreference);
ICsvBeanWriter beanWriter = new CsvBeanWriter(new FileWriter("data.csv"), customPreference);