package org.simpleflatmapper.csv.test.samples; import org.simpleflatmapper.csv.CsvParser; import org.simpleflatmapper.util.CloseableIterator; import java.io.File; import java.util.stream.Stream; public class GettingStartedCsv_csvMapper { public static void main(String[] args) throws Exception { File file = new File(GettingStartedCsv_csvMapper.class.getClassLoader().getResource("samples.csv").getFile()); // Callback CsvParser .mapTo(MyObject.class) .forEach(file, System.out::println); // Iterator try (CloseableIterator<MyObject> it = CsvParser.mapTo(MyObject.class).iterator(file)) { while(it.hasNext()) { System.out.println(it.next()); } } // Stream try (Stream<MyObject> stream = CsvParser.mapTo(MyObject.class).stream(file)) { stream.forEach(System.out::println); } // override headers CsvParser .skip(1) .mapTo(MyObject.class) .headers("id", "email", "name") .forEach(file, System.out::println); } public static class MyObject { private final String id; private final String name; private final String email; public MyObject(String id, String name, String email) { this.id = id; this.name = name; this.email = email; } public String getId() { return id; } public String getName() { return name; } public String getEmail() { return email; } @Override public String toString() { return "MyObject{" + "id='" + id + '\'' + ", name='" + name + '\'' + ", email='" + email + '\'' + '}'; } } }