首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java 操作csv资料

2012-12-25 
java 操作csv文件package cn.ccb.odsbsx.common.utilimport java.io.BufferedReaderimport java.io.File

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();
  }

}

热点排行