1.maven 引入 依赖
<dependency>
<groupId>net.sourceforge.javacsv</groupId>
<artifactId>javacsv</artifactId>
<version>2.0</version>
</dependency>
2.写入方法
public static void writeCSV(String path, List<String[]> writearraylist) {
String csvFilePath = path;
try {
// 创建CSV写对象 例如:CsvWriter(文件路径,分隔符,编码格式);
CsvWriter csvWriter = new CsvWriter(csvFilePath, ',', Charset.forName("UTF-8"));
// 写内容
// String[] headers = { "FileName", "FileSize", "FileMD5" };
// csvWriter.writeRecord(headers);
for (int i = 0; i < writearraylist.size(); i++) {
// String[] writeLine = writearraylist.get(i).split(",");
String[] writeLine = writearraylist.get(i);
System.out.println(writeLine);
csvWriter.writeRecord(writeLine);
}
csvWriter.close();
System.out.println("--------CSV文件已经写入--------");
} catch (IOException e) {
e.printStackTrace();
}
}
3.读取方法
public static List<String[]> readCsv(String filepath) {
List<String[]> csvFileList = new ArrayList<String[]>();
try {
CsvReader reader = new CsvReader(filepath, ',', Charset.forName("UTF-8"));
// reader.readHeaders();
while (reader.readRecord()) {
System.out.println(reader.getRawRecord());
csvFileList.add(reader.getValues());
}
reader.close();
for (int row = 0; row < csvFileList.size(); row++) {
String cell = csvFileList.get(row)[0];
System.out.println("------------>" + cell);
}
} catch (IOException e) {
e.printStackTrace();
}
return csvFileList;
}
4.演示实例