您的位置:首页 > 编程语言 > Java开发

Java读取csv文件并将内容插入到数据库

2017-12-22 15:36 537 查看
Java读取csv文件, 并使用jdbc将内容插入到数据库, 插入数据库的类可以在另一篇文章中查看, 有一个公共的csv操作jar包,本文未使用

<dependency>

<groupId>net.sourceforge.javacsv</groupId>

<artifactId>javacsv</artifactId>

<version>2.1</version>

</dependency>

[java] view
plain copy

package com.thinkive.common.util;  

  

import java.io.BufferedReader;  

import java.io.File;  

import java.io.FileInputStream;  

import java.io.InputStreamReader;  

import java.util.ArrayList;  

import java.util.List;  

  

import com.thinkive.common.function.gastatisics.bean.Bean;  

  

/** 

 * @desc: 读取csv文件, 并将内容插入到数据库 

 * @author: changez@thinkive.com 

 * @time: 2016年11月28日 下午3:37:35 

 */  

public class ReadCsv {  

  

    public static void readCsvAndInstallDB(String path, int ignoreRows) throws Exception {  

        File file = new File(path);  

        BufferedReader bReader = new BufferedReader(new InputStreamReader(new FileInputStream(file), Constants.CHAR_CODING_GBK));  

        String line = "";  

        List<Bean> beanList = new ArrayList<Bean>();  

        int count = 0;  

        // 忽略前几行标题  

        if(ignoreRows > 0) {  

            for (int i = 0; i < ignoreRows; i++) {  

                line = bReader.readLine();  

            }  

        }  

        try {  

            while((line = bReader.readLine()) != null) {  

    //          System.out.println(++count+"  "+line);  

                if(line.trim() != "") {  

                    String[] pills = line.split(",");  

                    Bean bean = new Bean(pills[0].trim(), pills[1].trim(), pills[2].trim(), pills[3].trim(), Constants.CHANNEL_TYPE_GUI_TAI);  

                    beanList.add(bean);  

                    if(++count%Constants.BATCH_NUM == 0) {  

                        // 数据库操作, 见“jdbc批量插入一文”  

                        DBHelp.executeUpate(DBHelp.SQL_INSTALL_IDNO_THIRD, beanList, Constants.DATE_FORMATE_DEFAULT);  

                        beanList.clear();  

                    }  

                }  

            }  

            // 操作集合中最后一批数据  <span style="font-family:Arial, Helvetica, sans-serif;">数据库操作, 见“jdbc批量插入一文”</span>  

            DBHelp.executeUpate(DBHelp.SQL_INSTALL_IDNO_THIRD, beanList, Constants.DATE_FORMATE_DEFAULT);  

            beanList.clear();  

            DBHelp.closeSources(DBHelp.getConn(), DBHelp.getPs());  

            beanList = null;  

        }finally {  

            if(bReader != null) {  

                bReader.close();  

            }  

        }  

    }  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: