简单的java解析文本文件批量导入数据库.docx
文本预览下载声明
package util;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.io.UnsupportedEncodingException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;/** * 批量导入数据库 * @author Administrator * */public class InsertDB {public Connection getConnection() {Connection conn = null;try {Class.forName(oracle.jdbc.driver.OracleDriver);conn = DriverManager.getConnection(jdbc:oracle:thin:@****:**:**, **,**);} catch (Exception e) {e.printStackTrace();}return conn;}public static void main(String[] args) {InsertDB rt = new InsertDB();rt.AhPhoneInsert(C:\\Documents and Settings\\Administrator\\桌面\\C.txt);// 参数为你的txt文件路径}//数据记录导入 public boolean AhPhoneInsert(String file){try { Connection con = getConnection(); PreparedStatement ps = null,ps1=null,ps2=null; ResultSet rs = null; BufferedReader br = new BufferedReader((new InputStreamReader(new FileInputStream(new File(file)),utf-8)));// 编码方式为utf-8,txt保存时编码方式也要选择为utf-8String line;try {String sql =insert into C values(?);try {con.setAutoCommit(false);ps = con.prepareStatement(sql);int n=0;while ((line = br.readLine()) != null) {String phone = line.trim();ps.setString(1, phone);ps.addBatch();n++;if(n1000){ps.executeBatch();n=0;}}ps.executeBatch();mit();} catch (SQLException e) {e.printStackTrace();}finally{if(null!=rs){try {rs.close();} catch (SQLException e) {e.printStackTrace();}}if(null!=ps){try {ps.close();} catch (SQLException e) {e.printStackTrace();}}if(null!=ps2){try {ps2.close();} catch (SQLException e) {e.printStackTrace();}}if(null!=ps1){try {ps1.close();} catch (SQLException e) {e.printStackTrace();}}if(null!=con){try {con.close();} catch (SQLException e) {e.printStackTrace();}}}} catch (IOException e) {e.printStackTrace();}} catch (UnsupportedEncodingException e) {e.printStackTrace();} catch (FileNo
显示全部