要做个批量导入,但是要暂停了,先放这儿,别丢了
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)); } } } }
相关推荐
在我们需求中需要读取一个csv文件的数据,但是只有旧的csv的几列数据再新写入一个csv文件,而且在旧的数据有空的数据,需要判断旧的csv的空值。可能写的存在不完善!但是应用的需求里面还是能用的
本人以JAVA来实现以支付宝的账单表为例,实现JAVA读取CSV..csv是一种文件格式(如.txt、.doc等),也可理解.csv文件就是一种特殊格式的纯文本文件。即是一组字符序列,字符之间已英文字符的逗号或制表符(Tab)分隔。
NULL 博文链接:https://qq-24665727.iteye.com/blog/2339850
java 语言读取csv文件,避免导入Excel时出现的单元格取值的问题
Java读取excel,Excel是我们平时工作中比较常用的用于存储二维表数据的,JAVA也可以直接对Excel进行操作。
通过引用【opevcsv】依赖,逐行读取数据 并转为Map,Object>格式,后续可以通过BeanUtil.MaptoBean()方法...csv文件必须带表头,bean对象命名符合驼峰格式; 通过此方法可以快速的将文件转换为程序可以操作的bean对象;
主要介绍了java读取csv文件示例,这个java解析csv文件的例子很简单,下面直接上代码,大家参考使用吧
NULL 博文链接:https://thinktothings.iteye.com/blog/1536044
java 解析csv文件例子,csv文件 中文乱码问题
通过Java读取指定行列的数据,请用eclipse平台打开。实现思想详见我的博客。
可读取复杂的csv文件,根据引号和逗号等分割读取所需要的数据信息。
下载javacsv-2.0.jar ,根据例子进行读写CSV操作。
利用Java swing 对csv和excel文件进行读写;并且可以同时读取5个文件的数量;通过关键字配置来读文件,还有就是通过POI CSVWriter等类的使用来对excel和csv等文件进行操作
该文档主要介绍java如何操作csv文件,在这里介绍了一个工具包的使用,也黏贴了java对于读取csv文件和写入csv文件时,对于大数据量的处理和安排,有效的解决了处理大数据是内存溢出问题
java读取csv格式文件jar包,已经修改过bug.
使用java对csv文件进行读写操作的源代码,包含javacsv.jar
一个非常好用的csv文件操作工具
主要介绍了java读取csv文件内容的示例,大家参考使用
通过java解析上传文件,判断文件类型(excel或者csv),将解析后的数据映射到javabean,从而可以进一步操作,入库或者增添数据