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);


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