java读取csv文件
CSV (逗号分隔值文件格式)
逗号分隔值(有时也称为字符分隔值,因为分隔字符也可以不是逗号,但通常一般默认用逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。如图(由excel转成的csv格式):
通过上图可知,其实通常见到的就是由逗号分隔的字符串文件
读取流程(其它语言同理)
- 逐行读取(对应csv表格的行)
- 对每行数据进行分割,转为数组(对应csv表格每一列)
代码
package demo;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
public class Demo {
/*
* 第一个Java程序
* 它将输出字符串 Hello World
*/
public static void main(String[] args) {
readCsvByBufferedReader("demo.csv");
}
/**
* BufferedReader 读取
* @param filePath
* @return
*/
public static ArrayList<String[]> readCsvByBufferedReader(String filePath) {
ArrayList<String[]> records = new ArrayList<>();
try {
BufferedReader in = new BufferedReader(new FileReader(filePath));
String line;
while ((line = in.readLine()) != null) {
records.add(line.split(","));
}
in.close();
} catch (Exception e) {
e.printStackTrace();
return null;
}
return records;
}
}