亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java讀取csv文件內(nèi)容示例代碼

 更新時間:2013年12月02日 11:51:59   作者:  
這篇文章主要介紹了java讀取csv文件內(nèi)容的示例,大家參考使用

復制代碼 代碼如下:

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;
        }
        /**
         * 獲取行數(shù)
         * @return
         */
        public int getRowNum() {
                return list.size();
        }
        /**
         * 獲取列數(shù)
         * @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));
                        }
                }

        }
}

相關文章

  • Spring?boot?CommandLineRunner啟動任務傳參實例詳解

    Spring?boot?CommandLineRunner啟動任務傳參實例詳解

    在使用SpringBoot構建項目時,我們通常有一些預先數(shù)據(jù)的加載,下面這篇文章主要給大家介紹了關于Spring?boot?CommandLineRunner啟動任務傳參的相關資料,需要的朋友可以參考下
    2022-06-06
  • java 流操作對文件的分割和合并的實例詳解

    java 流操作對文件的分割和合并的實例詳解

    這篇文章主要介紹了java 流操作對文件的分割和合并的實例詳解的相關資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • maven學習-初窺門徑

    maven學習-初窺門徑

    這篇文章主要介紹了maven的簡單知識,介紹了maven的定義及核心功能,具有一定參考價值,大家可以了解下。
    2017-10-10
  • 分析Java設計模式之組合模式

    分析Java設計模式之組合模式

    組合模式是一種對象的行為模式。將對象組合成樹形結構以表示“部分-整體”的層次結構。組合模式使得用戶對單個對象和組合對象的使用具有一致性。它的本質是統(tǒng)一葉子對象和組合對象。它的目的是讓客戶端不再區(qū)分操作的是組合對象還是葉子對象,而是以一個統(tǒng)一的方式來操作
    2021-06-06
  • Springboot源碼 TargetSource解析

    Springboot源碼 TargetSource解析

    這篇文章主要介紹了Springboot源碼 TargetSource解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • SpringBoot Data JPA 關聯(lián)表查詢的方法

    SpringBoot Data JPA 關聯(lián)表查詢的方法

    這篇文章主要介紹了SpringBoot Data JPA 關聯(lián)表查詢的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • springboot中手動提交事務的實現(xiàn)方法

    springboot中手動提交事務的實現(xiàn)方法

    手動提交事務可以提供更靈活的控制,以便在分布式環(huán)境中處理事務的提交和回滾,本文就來介紹一下springboot中手動提交事務的實現(xiàn)方法,感興趣的可以了解一下
    2024-01-01
  • Java中JDBC連接池的基本原理及實現(xiàn)方式

    Java中JDBC連接池的基本原理及實現(xiàn)方式

    本文詳細講解了Java中JDBC連接池的基本原理及實現(xiàn)方式,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-12-12
  • Spring自動裝配@Autowired教程

    Spring自動裝配@Autowired教程

    @Autowired注解是Spring中非常重要且常見的,接下來就簡要的介紹一下它的用法。@Autowired默認是通過set方法,按照類型自動裝配JavaBean,set方法可省略不寫,它主要是修飾在成員變量上
    2023-01-01
  • Java IO流相關知識代碼解析

    Java IO流相關知識代碼解析

    這篇文章主要介紹了Java IO流相關知識代碼解析,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12

最新評論