日期:2014-05-16 浏览次数:20429 次
1、需求:批量导入文件夹“手机号码归属地”下的所有文本文件,如图:
2、java源代码:
package com.insigma.zd.group4.liuchao.jdbc; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class ReadConfigureFile3 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/test"; String username = "root"; String password = "1234"; Connection conn = null; Statement stmt = null; try { conn = DriverManager.getConnection(url, username, password); stmt = conn.createStatement(); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } File file = new File("D:\\share\\手机号码归属地");//得到所选择文件夹 String path = file.getAbsolutePath();//得到选择文件夹的全路径 String[] files = file.list();//取得文件夹下的所有文件 try { conn.setAutoCommit(false);//设置数据手动提交,自己管理事务 } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); }// for(int i=0; i<files.length;i++){//遍历文件夹下所有文件 String fileName = files[i].substring(0, files[i].lastIndexOf("."));//取得所选文件名 String province = fileName.substring(0,fileName.length()-2); String cardType = fileName.substring(fileName.length()-2); FileInputStream fis = null; try { fis = new FileInputStream(path+"\\"+files[i]); InputStreamReader input = new InputStreamReader(fis); BufferedReader br = new BufferedReader(input); String line = null; String sql = null; String info[] = null; try { while((line = br.readLine())!= null){ info = line.split("-"); sql = sql = "insert into telephone(startPhone,endPhone,city,province,cardType)values('"+ info[0] +"','"+info[1]+"','"+info[2]+"','"+province+"','"+cardType+"')"; //stmt.executeUpdate(sql); stmt.addBatch(sql); } stmt.executeBatch(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { //提交事务 conn.commit(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
3、成功导入到数据库: