import com.opencsv.bean.CsvToBean;
import com.opencsv.bean.CsvToBeanBuilder;
import com.opencsv.bean.HeaderColumnNameMappingStrategy;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.List;
import org.apache.commons.io.input.BOMInputStream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class CsvUtil {
private static final Logger LOGGER = LoggerFactory.getLogger(CsvUtil.class);
public static <T> List<T> read(File file, Class<T> clazz) {
try (InputStreamReader reader = new InputStreamReader(new BOMInputStream(new FileInputStream(file)), "UTF-8")) {
HeaderColumnNameMappingStrategy<T> strategy = new HeaderColumnNameMappingStrategy<>();
strategy.setType(clazz);
CsvToBean<T> csvToBean = new CsvToBeanBuilder<T>(reader).withMappingStrategy(strategy).build();
return csvToBean.parse();
} catch (Exception e) {
LOGGER.error("读取数据失败", e);
return null;
}
}
}
Java CsvUtil 工具类
于 2023-02-28 09:05:29 首次发布