要做個批量導入,但是要暫停了,先放這兒,別丟了
- 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));
- }
- }
- }
- }