工具类
public class CSVFileUtil {
public static <T> List<T> inPut(String path , T a){
List<T> list =null;
try {
CSVReader reader = new CSVReader(new InputStreamReader(new FileInputStream(path),"utf-8"));
ColumnPositionMappingStrategy<T> mapper = new ColumnPositionMappingStrategy<>();
mapper.setType((Class<? extends T>) a.getClass());
CsvToBean<T> csvToBean = new CsvToBean<>();
list = csvToBean.parse(mapper, reader);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return list;
}
public static <T> void outPut(String path , List<T> list){
try {
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(path), Charset.forName("UTF-8"));
StatefulBeanToCsv<T> statefulBeanToCsv = new StatefulBeanToCsvBuilder<T>(writer)
.withApplyQuotesToAll(false)
.build();
statefulBeanToCsv.write(list);
writer.close();
} catch (CsvDataTypeMismatchException e) {
e.printStackTrace();
} catch (CsvRequiredFieldEmptyException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
实体类写法
public class SimpleBeanInfo {
@CsvBindByPosition(position=0)
private String time;
}