JAVA怎么读取.csv文件以及只读取.csv文件的某行某列的值

版权声明:博客知识产权来源命运的信徒,切勿侵权 https://blog.csdn.net/qq_37591637/article/details/86487481

什么是.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<String> 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文件里面的内容相符合!

 

猜你喜欢

转载自blog.csdn.net/qq_37591637/article/details/86487481