1. 程式人生 > >Java讀取csv檔案並將內容插入到資料庫

Java讀取csv檔案並將內容插入到資料庫

Java讀取csv檔案, 並使用jdbc將內容插入到資料庫, 插入資料庫的類可以在另一篇文章中檢視, 有一個公共的csv操作jar包,本文未使用

<dependency>

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

<artifactId>javacsv</artifactId>

<version>2.1</version>

</dependency>

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: 
[email protected]
* @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(); } } } // 操作集合中最後一批資料 資料庫操作, 見“jdbc批量插入一文”
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(); } } } }