java读取csv文件内容示例代码
发布时间:2023-03-13 22:09:14
标签:java读取csv文件内容
package com.huateng.readcsv;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class CsvUtil {
private String fileName = null;
private BufferedReader br = null;
private List<String> list = new ArrayList<String>();
public CsvUtil() {
}
public CsvUtil(String fileName) throws Exception {
this.fileName = fileName;
br = new BufferedReader(new FileReader(fileName));
String stemp;
while ((stemp = br.readLine()) != null) {
list.add(stemp);
}
}
public List getList() {
return list;
}
/**
* 获取行数
* @return
*/
public int getRowNum() {
return list.size();
}
/**
* 获取列数
* @return
*/
public int getColNum() {
if (!list.toString().equals("[]")) {
if (list.get(0).toString().contains(",")) {// csv为逗号分隔文件
return list.get(0).toString().split(",").length;
} else if (list.get(0).toString().trim().length() != 0) {
return 1;
} else {
return 0;
}
} else {
return 0;
}
}
/**
* 获取制定行
* @param index
* @return
*/
public String getRow(int index) {
if (this.list.size() != 0) {
return (String) list.get(index);
} else {
return null;
}
}
/**
* 获取指定列
* @param index
* @return
*/
public String getCol(int index) {
if (this.getColNum() == 0) {
return null;
}
StringBuffer sb = new StringBuffer();
String tmp = null;
int colnum = this.getColNum();
if (colnum > 1) {
for (Iterator it = list.iterator(); it.hasNext();) {
tmp = it.next().toString();
sb = sb.append(tmp.split(",")[index] + ",");
}
} else {
for (Iterator it = list.iterator(); it.hasNext();) {
tmp = it.next().toString();
sb = sb.append(tmp + ",");
}
}
String str = new String(sb.toString());
str = str.substring(0, str.length() - 1);
return str;
}
/**
* 获取某个单元格
* @param row
* @param col
* @return
*/
public String getString(int row, int col) {
String temp = null;
int colnum = this.getColNum();
if (colnum > 1) {
temp = list.get(row).toString().split(",")[col];
} else if(colnum == 1){
temp = list.get(row).toString();
} else {
temp = null;
}
return temp;
}
public void CsvClose()throws Exception{
this.br.close();
}
public static void main(String[] args)throws Exception {
CsvUtil util = new CsvUtil("D:\\demo.csv");
int rowNum = util.getRowNum();
int colNum = util.getColNum();
String x = util.getRow(2);
String y = util.getCol(2);
System.out.println("rowNum:" + rowNum);
System.out.println("colNum:" + colNum);
System.out.println("x:" + x);
System.out.println("y:" + y);
for(int i=1;i<rowNum;i++){
for(int j=0;j<colNum;j++){
System.out.println("result[" + i + "|" + j + "]:" + util.getString(i, j));
}
}
}
}
0
投稿
猜你喜欢
- 这篇文章主要介绍了Java如何实现支付宝电脑支付基于servlet版本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学
- 最近遇到一个调试很久的问题,MyBatis 查询 Oracle 数据库查询结果与在客户端查询结果不一致。问题引入测试表、测试数据创建测试表、
- 在开发时,手机先要ROOT,然后在通过代码改变权限。<span style="color:#330033;">
- 你好,我是小黄,一名独角兽企业的Java开发工程师。感谢茫茫人海中我们能够相遇,俗话说:当你的才华和能力,不足以支撑你的梦想的时候,请静下心
- 短网址(Short URL) ,顾名思义就是看起来很短的网址。自从twitter推出短网址服务以后,各大互联网公司都推出了自己的短网址服务。
- 代码:package com.lwj.test.proxy;import java.lang.reflect.InvocationHandl
- 详解android 通过uri获取bitmap图片并压缩很多人在调用图库选择图片时会在onActivityResult中用Media.get
- 这篇文章算是对整个引导界面开发专题的一个终结了吧,个人觉得大部分的引导界面基本上都是千篇一律的,只要熟练掌握了一个,基本上也就没什么好说的了
- 现在的应用在注册登录或者修改密码中都用到了短信验证码,那在android中是如何实现获取短信验证码并自动填写的呢?首先,需要要在manife
- 本文实例为大家分享了java实现银行家算法的具体代码,供大家参考,具体内容如下题目:初始时,Allocate[i,j]=0,表示初始时没有进
- 本文实例讲述了C# TreeView无限目录树实现方法。分享给大家供大家参考,具体如下:#region 绑定客户树protected voi
- 基于unity3D实现渐变颜色的简单脚本,代码很少,就不废话了,直接上代码和效果图。效果图:using System;using Syste
- 本文实例讲述了C#使用二分查找法判断指定字符的方法。分享给大家供大家参考,具体如下:private int sort_init(ref st
- 1、maven是什么,为什么存在?项目结构是什么样子,怎么定位jar官方网站说了好多,整的多复杂一样,简单说:maven是一个管理包的工具。
- 源程序揭秘杨辉三角形性质: 每行数字左右对称,由 1 开始逐渐变大,然后变小,回到 1。 第 n 行的数字个数为 n 个。 第 n 行数字和
- 做了Android开发这么久了,经常会遇到一个问题是adb端口被占用,大家都知道Android默认的adb端口是5037,电脑上有一些应用的
- 什么是包包 (package) 是组织类的一种方式.使用包的主要目的是保证类的唯一性.例如, 你在代码中写了一个 Test 类. 然后你的同
- 一、创建web项目1、打开idea软件,点击界面上的Create New Project2、进入如下界面。选中 java Enterpris
- 问题,打一个页面cpu暴涨,打开一次就涨100%,一会系统就卡的不行了。排查方法,因为是线上的linux,没有用jvm监控工具rim链接上去
- springBoot所有依赖和配置文件都写好的情况下1、dao接口的实现方法package com.cy.pj.sys.dao;import