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: 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();
}
}
}
// 操作集合中最后一批数据 数据库操作, 见“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();
}
}
}
}
版权声明:本文为changerzhuo_319原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。