java操作csv文件相关代码详解编程语言

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

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/10777.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论