1.导入csv依赖
<!--csv文件操作-->
<dependency>
<groupId>net.sourceforge.javacsv</groupId>
<artifactId>javacsv</artifactId>
<version>2.0</version>
</dependency>
2.CSV工具类(包含读取与写入两个方法)
package com.winsun.dataclean.utils;
import com.csvreader.CsvReader;
import com.csvreader.CsvWriter;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.ArrayList;
public class ReadCsvFile {
public static ArrayList<String[]> readCsvFile(String filePath){
ArrayList<String[]> csvList = new ArrayList<String[]>();
try {
CsvReader reader = new CsvReader(filePath,',',Charset.forName("UTF-8"));
while(reader.readRecord()){
csvList.add(reader.getValues());
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
return csvList;
}
public static ArrayList<String> readCsvFileRow(String filePath,int rows){
ArrayList<String> csvList = new ArrayList<String>();
try {
CsvReader reader = new CsvReader(filePath,',',Charset.forName("UTF-8"));
reader.readHeaders();
while(reader.readRecord()){
String[] values = reader.getValues();
csvList.add(values[rows]);
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
return csvList;
}
public static void writer(String filePath,ArrayList<String[]> contents) throws IOException {
CsvWriter csvWriter = new CsvWriter(filePath, ',', Charset.forName("UTF-8"));
contents.forEach(content->{
try {
csvWriter.writeRecord(content);
} catch (IOException e) {
e.printStackTrace();
}
});
csvWriter.close();
}
}