Java读取csv文件

要做个批量导入,但是要暂停了,先放这儿,别丢了

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

                        }

                }

                

        }

}

  

你可能感兴趣的:(java)