700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Java 读取txt文件 读取结果保存到数据库

Java 读取txt文件 读取结果保存到数据库

时间:2021-10-01 16:05:37

相关推荐

Java 读取txt文件 读取结果保存到数据库

需求:有一个很大的txt文件(1,000,000条数据),从txt中读取有用数据库后保存到Oracle数据库中

利用Java实现:

1、加载文件后一行一行读取

2、数据库连接后按行插入到数据库

package com.test.IF.service;import java.io.File;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;import mons.io.FileUtils;import mons.io.LineIterator;public class ReadCustomerFile {int idx;Connection conn = null;PreparedStatement pstmt = null; // 使用commons-io.jar包的FileUtils的类进行读取public void readTxtFileByFileUtils(String fileName) {File file = new File(fileName);dbConnection();try {LineIterator lineIterator = FileUtils.lineIterator(file, "GB2312");while (lineIterator.hasNext()) {String line = lineIterator.nextLine();// 行数据转换成数组String[] custArray = line.split("\\|");insertCustInfo(custArray);Thread.sleep(10);}} catch (IOException e) {e.printStackTrace();} catch (InterruptedException e) {e.printStackTrace();} finally {dbDisConnection();}}// 插入到数据库中public void insertCustInfo(String[] strArray) { try {StringBuffer sqlBf = new StringBuffer();sqlBf.setLength(0);sqlBf.append("INSERT INTO TEMP_CUST_INFO(CUST_NO, CUST_NM, MOB_NO1)\n");sqlBf.append("VALUES(? \n");sqlBf.append(", ? \n");sqlBf.append(", ?) \n");pstmt = conn.prepareStatement(sqlBf.toString());idx = 1;pstmt.clearParameters();pstmt.setInt(idx++, Integer.parseInt(strArray[0]));pstmt.setString(idx++, strArray[1]);pstmt.setString(idx++, strArray[2]);pstmt.executeUpdate(); } catch (SQLException e) {e.printStackTrace();} finally {if (pstmt != null) {try {pstmt.close();} catch (SQLException e) {e.printStackTrace();}}}}// 连接数据库public Connection dbConnection() {try {Class.forName("oracle.jdbc.driver.OracleDriver");String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl"; String user = "scott"; String password = "goodluck"; conn = DriverManager.getConnection(url, user, password); System.out.println("Connection 开启!");} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}return conn;}// 关闭数据库public void dbDisConnection() {if (conn != null) {try {conn.close();System.out.println("Connection 关闭!");} catch (SQLException e) {e.printStackTrace();}}}public static void main(String[] args) {ReadCustomerFile rcf = new ReadCustomerFile();rcf.readTxtFileByFileUtils("D:\\test\\customer_info.txt");}}

确认数据库数据:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。