Java操作csv文件
以前就一直很想搞懂一个问题就是java如何读取和写入csv文件,现在要花时间总结一波。
主要使用的javaCSV.jar
javaCSV API:http://javacsv.sourceforge.net/
jar包下载地址:
http://repo.boundlessgeo.com/main/net/sourceforge/javacsv/javacsv/2.1/javacsv-2.1.jar
直接上代码吧。
建工程时记得把javacsv的包添加到build path.
工程目录为:
test.csv是测试read的,testWrite.csv是程序执行完生成的。
代码为:
package com.ilovewl;
import java.io.IOException;
import java.nio.charset.Charset;
import com.csvreader.CsvReader;
import com.csvreader.CsvWriter;
public class TestCsv {
public static void read(){
String filePath = "test.csv";
try {
// 创建CSV读对象
CsvReader csvReader = new CsvReader(filePath);
// 读表头
csvReader.readHeaders();
while (csvReader.readRecord()){
// 读一整行,默认是以逗号分离的
System.out.println(csvReader.getRawRecord());
// 读这行的某一列
System.out.println(csvReader.get("mobile"));
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void write(){
String filePath = "testWrite.csv";
try {
// 创建CSV写对象
CsvWriter csvWriter = new CsvWriter(filePath,',', Charset.forName("GBK"));
//CsvWriter csvWriter = new CsvWriter(filePath);
// 写表头
String[] headers = {"姓名","年龄","性别"};
String[] content = {"面包君","18","男"};
csvWriter.writeRecord(headers);
csvWriter.writeRecord(content);
csvWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String a[]) {
read();
write();
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
结果示意图:
总的来说,使用javacsv的API操作起来还是挺简单的,这里只是实现了很简单的功能,如果想深入学习的话还是需要去官方的API看看更多的功能。
demo代码:https://download.csdn.net/download/lcr_happy/10595672