opencsv解析csv文件

该博客介绍了如何使用opencsv库解析CSV文件,特别是在遇到文件以UTF-8-BOM编码模式时,如何处理首列为空的问题,建议将文件编码模式转换为纯UTF-8。
摘要由CSDN通过智能技术生成

 

注意如果是UTF-8-BOM模式,第一行会有bom的头标识,请修改文件编码模式为UTF-8,否则第一列会为空

package com.ydd.tools;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import com.opencsv.CSVParser;
import com.opencsv.bean.CsvToBean;
import com.opencsv.bean.CsvToBeanBuilder;
import com.opencsv.bean.HeaderColumnNameMappingStrategy;
import com.ydd.model.Persion;

/**
 * 	如果出现第一列读取不到的情况请修改编码模式为UTF-8, (UTF-8-BOM模式会丢失第一列)
 * @author pc1010
 */
public class CsvUtil {

	/**
	 * 解析csv文件并转成bean
	 * @param file  csv文件
	 * @param clazz 类
	 * @param <T>   泛型
	 * @return 泛型bean集合
	 */
	public static <T> List<T> getCsvData(File file, Class<T> clazz) {
		try {
			List<T> result = new ArrayList<T>();
			InputStream fileInput = new FileInputStream(file);
			Inpu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值