<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-csv</artifactId>
<version>2.12.5</version>
</dependency>
groovy
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-csv:2.12.5'
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.MappingIterator;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.csv.CsvMapper;
import com.fasterxml.jackson.dataformat.csv.CsvSchema;
import java.io.File;
import java.io.IOException;
import java.util.List;
public class CsvReader {
public static void main(String[] args) {
try {
CsvMapper csvMapper = new CsvMapper();
CsvSchema csvSchema = CsvSchema.builder()
.addColumn("name")
.addColumn("age")
.addColumn("email")
.build();
File csvFile = new File("data.csv");
MappingIterator<List<String>> mappingIterator = csvMapper.readerFor(List.class)
.with(csvSchema)
.readValues(csvFile);
while (mappingIterator.hasNext()) {
List<String> row = mappingIterator.next();
System.out.println(row);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.MappingIterator;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.csv.CsvMapper;
import com.fasterxml.jackson.dataformat.csv.CsvSchema;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
public class CsvWriter {
public static void main(String[] args) {
try {
CsvMapper csvMapper = new CsvMapper();
CsvSchema csvSchema = CsvSchema.builder()
.addColumn("name")
.addColumn("age")
.addColumn("email")
.build();
List<List<String>> data = Arrays.asList(
Arrays.asList("John Doe", "30", "john.doe@example.com"),
Arrays.asList("Jane Smith", "28", "jane.smith@example.com")
);
File csvFile = new File("data.csv");
csvMapper.writerFor(List.class)
.with(csvSchema)
.writeValues(csvFile)
.writeAll(data);
} catch (IOException e) {
e.printStackTrace();
}
}
}