package cn.unicom.util;
import com.csvreader.CsvReader;
import com.csvreader.CsvWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
public class CsvUtil {
public static void main(String[] args) throws Exception{
File file = new File("C:\Users\wcy\Desktop\His_20211013150000.csv");
InputStream inputStream = new FileInputStream(file);
List list = read(inputStream,"GB2312");
write(list,"C:\Users\wcy\Desktop\His_202110131500001.csv");
}
public static List read(InputStream inputStream, String code) throws Exception{
//1. 存储csv文件中的内容
List csvList = new ArrayList();
//2. 创建CsvReader
CsvReader reader = new CsvReader(inputStream, ',', Charset.forName(code));
//3. 跳过表头,如果需要表头的话,不要写这句
// reader.readHeaders();
//4.逐行读入除表头的数据
while(reader.readRecord()){
csvList.add(reader.getValues());
}
//5. 释放资源
reader.close();
return csvList;
}
public static void write(List list, String filePath) throws Exception{
CsvWriter wr = new CsvWriter(filePath, ',', Charset.forName("UTF-8"));
for (int i = 0; i < list.size(); i++) {
wr.writeRecord(list.get(i));
}
wr.close();
}
}