Javacsv读写csv文件
2018-03-13 11:53:52
1437次阅读
0个评论
CSV文件的读写有很多方法的,这里介绍一种利用第三方jar包/javacsv来读写CSV文件的方法。
1.先下载Jar包:
http://central.maven.org/maven2/net/sourceforge/javacsv/javacsv/2.0/javacsv-2.0.jar
读CSV文件示例
public static void readCSV() {
try {
// 用来保存数据
ArrayList<String[]> csvFileList = new ArrayList<String[]>();
// 定义一个CSV路径
String csvFilePath = "D://StemQ.csv";
// 创建CSV读对象 例如:CsvReader(文件路径,分隔符,编码格式);
CsvReader reader = new CsvReader(csvFilePath, ',', Charset.forName("UTF-8"));
// 跳过表头 如果需要表头的话,这句可以忽略
reader.readHeaders();
// 逐行读入除表头的数据
while (reader.readRecord()) {
System.out.println(reader.getRawRecord());
csvFileList.add(reader.getValues());
}
reader.close();
// 遍历读取的CSV文件
for (int row = 0; row < csvFileList.size(); row++) {
// 取得第row行第0列的数据
String cell = csvFileList.get(row)[0];
System.out.println("------------>"+cell);
}
} catch (IOException e) {
e.printStackTrace();
}
}
写CSV文件示例
public static void writeCSV() {
// 定义一个CSV路径
String csvFilePath = "D://StemQ.csv";
try {
// 创建CSV写对象 例如:CsvWriter(文件路径,分隔符,编码格式);
CsvWriter csvWriter = new CsvWriter(csvFilePath, ',', Charset.forName("UTF-8"));
// 写表头
String[] csvHeaders = { "编号", "姓名", "年龄" };
csvWriter.writeRecord(csvHeaders);
// 写内容
for (int i = 0; i < 20; i++) {
String[] csvContent = { i + "000000", "StemQ", "1" + i };
csvWriter.writeRecord(csvContent);
}
csvWriter.close();
System.out.println("--------CSV文件已经写入--------");
} catch (IOException e) {
e.printStackTrace();
}
}
00