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