javacsv2.1 下载地址:http://sourceforge.net/projects/javacsv/files/ 该链接可以下载java读取csv文件的jar 包。下载之后解压找到对应的.jar文件 选择导入即可。
我们一般会在表格的第一行定义标题,从而来说明每一列的内容,readHeaders()方法可以跳过表头,也就是表格的第一行。
getRawRecord()方法表示获取一行的数据。
get("Name")方法表示获取一行中某一列的数据,“name”为该的标题。
getCurrentRecord()方法获取当前行号。该行号从0行开始计数,且要去除掉表头。
import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.charset.Charset;
import com.csvreader.CsvReader;
public class ReadCSV {
public static void main(String[] args) throws IOException {
String filePath = "C:\Users\happy\Desktop\Domo.csv";
CsvReader reader = new CsvReader(filePath, ',', Charset.forName("GBK"));
reader.readHeaders(); // 跳过表头, 如果不需要表头的话,不要写这句。
while (reader.readRecord()) {
// 一下获取的行号是从0开始
System.out.println("当前行号 " + reader.getCurrentRecord());
// 读取行内容记录
System.out.println(reader.getRawRecord());
System.out.println("==========");
// 按列名读取这条记录的值
System.out.println(reader.get("name"));
System.out.println(reader.get("cander"));
System.out.println("--------");
if (reader.getCurrentRecord() == 3) {
// 此处第四行是指去除表头开始计数的第四行,从一开始。
System.out.println("这是第四行的记录" + reader.getRawRecord());
// 读取指定行的指定列内容
System.out.println(reader.get("name"));
System.out.println(reader.get("cander"));
}
}
}
}