需求:有一个很大的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 org.apache.commons.io.FileUtils;
import org.apache.commons.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");}
}

确认数据库数据:

转载于:https://www.cnblogs.com/seabird1979/p/4876682.html

Java 读取txt文件,读取结果保存到数据库相关推荐

  1. python读取文件并存入mysql_1.python读取txt文件并插入到mysql数据库以及将py脚本文件打包成独立的exe程序...

    读取txt文件并插入到mysql数据库 该小脚本适用于每天生成日志等信息到txt文本,然后通过windows的计划任务定时去执行python脚本打包成的exe文件,并将txt中内容读取以及格式化后插入 ...

  2. java操作excel文件之系列一:《读取excel文件的内容保存到数据库》

    excel文件:example.xls 文件内容大概是下面这样的: 现在要读取excel的内容写入数据库中 String filepath = "example.xls";Stri ...

  3. php读取txt并写入数据库,php读取txt文件组成SQL并插入数据库的方法

    /** * $splitChar 字段分隔符 * $file 数据文件文件名 * $table 数据库表名 * $conn 数据库连接 * $fields 数据对应的列名 * $insertType ...

  4. java读取txt文件出现中文乱码

    在保证代码没有问题的前提下,读取txt文件出现了如下乱码. 解决方法: 1.查看文件代码的编码方式是否是ANSI(我使用的文本编辑器为EditPlus) 2.查看.txt文件的编码方式是否是ANSI ...

  5. java 如何读取txt文件并添加换行符

    大家好我是图恩,最近在给网站添加一个在线看电子书的功能,需要通过java读取txt文件,然后返回给前端,前端在线显示返回的数据. 目前实现的功能就是通过java读取txt文件,按行读取然后添加换行符, ...

  6. java 读取txt文件和xls文件

    ①:java读取txt文件 首先声明一下,我此处所涉及的文件读取只是简单的读取以及自己的一些见解.如有错误,还请提点 package test;import java.io.BufferedReade ...

  7. java读取txt文件中的内容

    java读取txt文档中的内容:在这个地方我们输入一个txt文件的路径,就可以读取出txt文档中的内容: public static String readStringFromtxt(String t ...

  8. java读取txt文件

    java如何读入txt文本文件的内容:java从txt文件中读取内容有多种方法,包括按照行读取文件,按照字节读取文件,首先我们来看看按照行读取txt文件中的内容的一般的步骤: 首先是我们创建一个fil ...

  9. [java进阶]1.Java读取txt文件和写入txt文件

    1. Java读取txt文件 import java.io.*; import java.util.ArrayList; import java.util.List;public class unit ...

  10. java读取TXT文件的方法

    java读取txt文件内容.可以作如下理解: 首先获得一个文件句柄.File file = new File(); file即为文件句柄.两人之间连通电话网络了.接下来可以开始打电话了. 通过这条线路 ...

最新文章

  1. SearchHit转成java对象_Java开发中最常犯的10个错误,你中招了吗?
  2. Android编译笔记三
  3. Java并发编程的艺术 记录(一)
  4. Activity configChanges 含义
  5. python操作系统接口错误_Python os模块和sys模块 操作系统的各种接口
  6. ios15使用NSXMLParser解析XML
  7. jmeter中timeout值怎么设置_jMeter解决failed to respond Connection reset
  8. mysql的中文乱码url,MySQL 中文显示乱码
  9. 一些常见的光学标定板模式
  10. 在Laravel中使用数据库事务以及捕获事务失败后的异常
  11. 01 svn服务搭建
  12. js学习(node.js环境)
  13. 流模型 操作 xml
  14. 互联网潜规则:如何进行敏感词屏蔽
  15. 制作一个App的完整流程是哪些
  16. 邮件服务器的功能以及相关工作原理
  17. 文本挖掘基本流程概述 分词和TF-IDF值计算方法介绍
  18. 20个免费网站测试工具
  19. 设计模式 | 装饰者模式及典型应用
  20. 如何实现轻松会议签到?

热门文章

  1. Microsoft.Ink namespace
  2. 【美文赏析】世界上最遥远的距离
  3. 再谈JavaScript时钟中的16ms精度问题.
  4. webpack4导入全局sass文件
  5. 弄懂bind,apply和call的区别
  6. C++---deque双端队列
  7. 【零基础学Java】—TCP通信(五十四)
  8. 微软将开源查询处理工具Trill,怎么下载部署?
  9. Huawei said, “Let every meeting room or coffee shop
  10. JS基础--Date.parse(),Date.UTC()和Date.now()