java8实现:利用csvMapper将List<ADto>出力成csv文件。参数为List<ADto>、ADto.class、filePath
时间: 2024-05-16 10:17:08 浏览: 176
可以使用 OpenCSV 库提供的 CsvMapper 类来实现这个功能,代码如下:
```java
import com.opencsv.bean.CsvMapper;
import com.opencsv.bean.CsvWriter;
import com.opencsv.bean.StatefulBeanToCsvBuilder;
import java.io.FileWriter;
import java.util.List;
public class CsvWriterUtil {
public static <T> void writeListToCsv(List<T> list, Class<T> clazz, String filePath) throws Exception {
CsvMapper mapper = new CsvMapper();
CsvWriter writer = new CsvWriter(new FileWriter(filePath));
new StatefulBeanToCsvBuilder<T>(writer)
.withMappingStrategy(mapper.getStrategy())
.withQuotechar(CsvWriter.NO_QUOTE_CHARACTER)
.withSeparator(',')
.withOrderedResults(false)
.build()
.write(list);
writer.close();
}
}
```
然后你可以使用它来将 List<ADto> 输出为 CSV 文件:
```java
List<ADto> aDtoList = ...; // 从某个地方获取 ADto 对象列表
String filePath = "path/to/your/file.csv";
CsvWriterUtil.writeListToCsv(aDtoList, ADto.class, filePath);
```
注意要捕获 `writeListToCsv` 方法抛出的异常。
阅读全文