java操作csv文件相关代码
package cn.ccb.odsbsx.common.util; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** * * JAVA 操作 excel 文档中的 .csv文件格式 */ public class CsvOperateUtil { private String filename = null; private BufferedReader bufferedreader = null; private List list =new ArrayList(); public CsvOperateUtil() { } public static void main(String[] args) throws IOException { CsvOperateUtil test = new CsvOperateUtil(); test.testRun("C:/file2/B_F_DEP_SAE_CB_ACCT_TMP.csv"); } public CsvOperateUtil(String filename) throws IOException{ this.filename = filename; bufferedreader = new BufferedReader(new FileReader(filename)); String stemp; while((stemp = bufferedreader.readLine()) != null){ list.add(stemp); } } public List getList() throws IOException { return list; } public int getRowNum(){ return list.size(); } public int getColNum(){ if(!list.toString().equals("[]")) { if(list.get(0).toString().indexOf(",")>0) { return list.get(0).toString().split(",").length; }else if(list.get(0).toString().trim().length() != 0) { return 1; }else{ return 0; } }else{ return 0; } } public String getRow(int index) { if (this.list.size() != 0) return (String) list.get(index); else return null; } public String getCol(int index){ if (this.getColNum() == 0){ return null; } StringBuffer scol = new StringBuffer(); String temp = null; int colnum = this.getColNum(); if (colnum > 1){ for (Iterator it = list.iterator(); it.hasNext();) { temp = it.next().toString(); scol = scol.append(temp.split(",")[index] + ","); } }else{ for (Iterator it = list.iterator(); it.hasNext();) { temp = it.next().toString(); scol = scol.append(temp + ","); } } String str=new String(scol.toString()); str = str.substring(0, str.length() - 1); return str; } 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 IOException { this.bufferedreader.close(); } public void testRun(String filename) throws IOException { CsvOperateUtil cu = new CsvOperateUtil(filename); for(int i=0;i<cu.getRowNum();i++){ String ID = cu.getString(i,0);//得到第i行.第一列的数据. String CODE = cu.getString(i,1);;//得到第i行.第二列的数据. String NAME = cu.getString(i,2);; String TEL = cu.getString(i,3);; System.out.println("===ID:"+ID); System.out.println("===CODE:"+CODE); System.out.println("===NAME:"+NAME); System.out.println("===TEL:"+TEL); System.out.println(" "); } cu.CsvClose(); } }