什么是.csv文件,就是最简单的数据库文件;一般里面存储的数据库少的话可以用excel或者是text打开
首先我的csv文件里面的内容如下,我用excel表格打开的
1、java怎么读取.csv文件里的所有内容
代码如下
package cn.com.csv;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class ReadCsv {
/*
* author:命运的信徒 date:2019-1-15 arm:java读取.csv文件里面的所有内容
*/
public static void main(String[] args) {
// 1. .csv文件的路径。注意只有一个\的要改成\\
File csv = new File(
"D:\\huace\\HuaceNav\\HCMonitor2.0\\CSV\\PostE1.csv"); // CSV文件路径
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(csv));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
String line = "";
String everyLine = "";
try {
List allString = new ArrayList<>();
while ((line = br.readLine()) != null) // 读取到的内容给line变量
{
everyLine = line;
System.out.println(everyLine);
allString.add(everyLine);
}
System.out.println("csv表格中所有行数:" + allString.size());
} catch (IOException e) {
e.printStackTrace();
}
}
}
结果如下
读取整个文件的内容成功!
2、我不要整个.csv文件,我要整个文件里面的第2行第15列的内容,那么这个怎么办呢?
我想获取第二行第O列、第二行第Q列、第二行第S列、第二行第U列的数据,那么怎么办呢?
1、分割符 TJN
首先,你要知道,读取第二行的数据很简单,但是读取某列就不太容易了?
你可以采用空格或者是逗号或者特殊字母,如TJN,想要获取的数据分割开来;
个人不建议用空格或者是逗号,如果你的数据中含有空格的话,就会混淆的!
我用的是字母TJN把想要获取的数据分开了;
用字母TJN把数据分开以后,我想获取的第二行第O列、第二行第Q列、第二行第S列、第二行第U列的数据就变成了
第二行第二列、第二行第三列、第二行第四列、第二行第五列了;
2、代码部分
package cn.com.csv;
import java.io.BufferedReader;
import java.io.FileReader;
public class Readers {
/**author:命运的信徒
* date:2019/1/15
* arm:获取.csv文件的某一行某一列数据的内容
*
*
*/
public void test(int row,int col){
try {
BufferedReader reade = new BufferedReader(new FileReader("D:\\huace\\HuaceNav\\HCMonitor2.0\\CSV\\PostE1.csv"));//换成你的文件名
String line = null;
int index=0;
while((line=reade.readLine())!=null){
String item[] = line.split("TJN");//CSV格式文件为逗号分隔符文件,这里根据逗号切分
if(index==row-1){
System.out.println(item.length);
if(item.length>=col-1){
String last = item[col-1];//这就是你要的数据了
System.out.println(last);
}
}
//int value = Integer.parseInt(last);//如果是数值,可以转化为数值
index++;
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Readers test = new Readers();
test.test(2,3);
}
}
结果如下
结果与.csv文件里面的内容相符合!