`

java读取txt文件,导入数据库

    博客分类:
  • java
阅读更多
package com.egf.qingbao;

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.PreparedStatement;
import java.sql.SQLException;

/**
* @author xh
* @version $Revision: 1.1 $
* @since 0.1
*/
public class CopyOfReadTxtutil {
private static Connection conn = null;

public static void readTxtFile(String filePath) {
conn = JdbcUtil.getConnection("oracle.jdbc.driver.OracleDriver",
"jdbc:oracle:thin:@xxx.x.x.xxx:1521:tjkf", "ypxx", "ypxx");
PreparedStatement pre = null;
String sql = "insert into yp_tldp values(SEQ_YP_TLDP.nextval,?,?,?,?,?,?,?,?,?,?,?)";
String encoding = "UTF-8";
long startTime = System.currentTimeMillis();
File file = new File(filePath);
if (file.isFile() && file.exists()) {
InputStreamReader read = null;
try {
read = new InputStreamReader(new FileInputStream(file),
encoding);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
// List<String> datas = new ArrayList<String>();
int i = 0;
try {
conn.setAutoCommit(false);
// 开始事务
pre = conn.prepareStatement(sql);
try {
while ((lineTxt = bufferedReader.readLine()) != null) {
String[] tldp = lineTxt.split(" ");
i++;
pre.setString(1, tldp[2]);
pre.setString(2, tldp[1]);
pre.setString(3, tldp[6]);
pre.setString(4, tldp[5]);
pre.setString(5, tldp[3]);
pre.setString(6, tldp[9]);
pre.setString(7, tldp[8]);
pre.setString(8, tldp[4]);
pre.setInt(9, 0);
pre.setString(10, tldp[7]);
pre.setString(11, tldp[0]);
pre.addBatch();
// 分段提交    下面的i要等于txt的行数
if ((i % 500 == 0 && i != 0) || i == 4808) {
pre.executeBatch();
conn.commit();
conn.setAutoCommit(false);// 开始事务
JdbcUtil.release(null, pre, conn);
conn = JdbcUtil.getConnection(
"oracle.jdbc.driver.OracleDriver",
"jdbc:oracle:thin:@xx.xx.xx.xx:1521:tjkf",
"ypxx", "ypxx");
pre = conn.prepareStatement(sql);
System.out.println("------------>" + i);
}
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (SQLException e) {
e.printStackTrace();
}
long endTime = System.currentTimeMillis(); // 获取结束时间
System.out.println("程序运行时间: " + (endTime - startTime) / 1000 + "秒");
}
}

public static void main(String[] args) {
String filePath = "D:\\tl3.txt";
readTxtFile(filePath);
}

}

JDBC连接数据库
package com.egf.qingbao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

/**
* jdbc连接数据库工具类
*
* @author xh
*/
public class JdbcUtil {
private static Properties info = new Properties();

// private static InputStream is = null;
/**
* 静态代码块初始化db.properties中的数据库配置信息。
*/
// static {
// try {
// //设置系统配置资源类路径到qingbao.cfg.dir全局常量
// // ConfigurationUtils.QINGBAO_CFG_DIR =
// ConfigurationUtils.getConfigResourcePath();
// //设置db.properties文件所在类路径
// //
// if(!StringUtils.isBlank(ConfigurationUtils.QINGBAO_CFG_DIR)){//QINGBAO_CFG_DIR
// 不为空
// // is = new FileInputStream(new File(ConfigurationUtils.QINGBAO_CFG_DIR +
// ConfigurationUtils.FILE_SEPARATOR +
// ConfigurationUtils.APP_CFG_FILE_NAME_SEARCHER +
// ConfigurationUtils.FILE_SEPARATOR + "db.properties"));//
// JdbcUtil.class.getResourceAsStream();
// // }else{//默认
// is = JdbcUtil.class.getResourceAsStream("/db.properties");
// // }
// info.load(is);
// is.close();
// } catch (Exception e) {
// throw new ExceptionInInitializerError(e);
// }finally{
// try {
// is.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
// }

/**
* 获取数据库连接
*
* @return
* @throws Exception
*/
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName(info.getProperty("driver"));
} catch (ClassNotFoundException e) {
e.printStackTrace();
throw new RuntimeException("加载oracle驱动,初始化db.properties配置文件出错。");
}
try {
conn = DriverManager.getConnection(info.getProperty("url"), info
.getProperty("username"), info.getProperty("password"));
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(
"创建数据库连接失败,请检查db.properties配置文件,并查看数据库用户名密码是否配置正确。");
}
return conn;
}

/**
* 根据参数获取数据库连接
*
* @param driver
* @param url
* @param username
* @param password
* @return
*/
public static Connection getConnection(String driver, String url,
String username, String password) {
Connection conn = null;
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
throw new RuntimeException("加载oracle驱动出错。");
}
try {
conn = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("创建数据库连接失败,请检查参数是否配置正确。");
}
return conn;
}

/**
* 释放资源,释放数据库连接
*
* @param rs
* @param stm
* @param conn
*/
public static void release(ResultSet rs, Statement stm, Connection conn) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("关闭ResultSet出错");
}
}
if (stm != null) {
try {
stm.close();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("关闭Statement出错");
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("关闭Connection出错");
}
}
}

/**
* main方法测试
*
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
System.out.println(getConnection());
System.out.println("==== 数据库连接成功 ====");
}
}
分享到:
评论

相关推荐

    java读取excel数据导入数据库源码

    java读取excel数据导入数据库源码 java读取excel数据导入数据库源码

    批量读取txt文件导入数据库Demo实例

    这个“批量读取txt文件导入数据库Demo实例”可能是一个示例程序,展示了如何高效地完成这项工作。下面,我们将详细讨论这个过程涉及的关键知识点。 1. 文件读取: - **Python的内置函数**:Python是进行此类操作的...

    java 读取txt数据并保存到数据库中源代码

    java 读取txt文本文件中的数据并保存到数据库中源代码,假设txt已有格式,并以","分隔。其中的sql包需要自己去微软官网下载。

    java使用javacsv读取csv文件 导入Mysql数据库

    以上就是使用javacsv库读取CSV文件并导入到MySQL数据库的基本步骤。在实际应用中,你可能需要处理更复杂的情况,比如错误处理、事务管理、性能优化等。此外,考虑到文件读写和数据库操作的性能,你还可以考虑使用多...

    java读取TXT文件入库

    以上就是使用Java读取TXT文件并将其内容存入数据库的基本步骤。根据实际需求,可能还需要处理异常、优化性能(如批处理SQL)、验证数据格式等细节问题。在处理大规模数据时,考虑使用多线程或者流式处理来提高效率。

    用java编程将txt文件数据导入oracle

    "Java编程将TXT文件数据导入Oracle数据库" Java 编程将 TXT 文件数据导入 Oracle 数据库是指使用 Java 语言编写程序将 TXT 文件中的数据导入 Oracle 数据库中,以方便进行计算、统计等操作。下面将详细介绍该知识...

    java把文本文件内容导入到数据库

    接着,为了将这些数据导入数据库,我们需要建立与数据库的连接。Java提供JDBC(Java Database Connectivity)API来实现这一点。首先,我们需要包含对应数据库驱动的JAR文件,并通过`DriverManager.getConnection()`...

    java中读取shp文件数据存入数据库

    shp文件:地理信息系统,也被称作GIS,它主要的扩展类型是SHAPEFILE (.SHP),一个包含了矢量地理空间数据的流行文件格式,描述了几何形态,点,线和多边形...该方法通过java代码实现将shp文件的数据读取以及存入数据库

    java读取xml文件导入到mysql数据库中

    xml文件导入到mysql数据库中,包括文件:ConnectionUtils.java,InsertDT.java,db_mysql.properties,test01.xml,需要的jar包dom4j-1.6.1.jar,mysql-connection-java-3.1.1.3-bin.jar,jaxen-1.1-beta-7.jar

    Java解析txt文件到数据库

    本文将详细探讨如何使用Java解析TXT文件并将其中的数据导入到MySQL数据库中。 首先,我们需要了解的是“建表.sql”文件。这个文件通常包含了创建数据库表的SQL语句,用于定义数据的结构和类型。在本场景下,它可能...

    java导入txt到数据库 从数据库导出txt

    本文将详述如何使用Java实现TXT文件与数据库之间的数据导入和导出。 首先,我们来了解一下基础概念。TXT文件是一种常见的文本文件格式,通常用于存储纯文本数据,如表格、日志或简单的数据记录。数据库,如MySQL、...

    java解析xml并导入数据库(dom4j).doc

    Java 解析 XML 并导入数据库是指使用 Java 语言将 XML 文件解析并将其内容导入到数据库中。下面是使用 DOM4J 库来实现此功能的相关知识点: 一、XML 文件解析 XML(Extensible Markup Language)是一种标记语言,...

    定时读取PDF文件,并批量插入到数据库

    - **读取配置文件工具类**:可能使用了`java.util.Properties`来读取配置文件,如数据库连接信息,这有助于解耦代码和配置。 - **数据库连接工具类**:通常封装了数据库的连接、关闭等操作,提供静态方法供其他...

    Java读取txt数据入数据库然后读出使用POI创建excel

    在Java编程中,将TXT文件的数据导入到数据库并利用Apache POI库创建Excel文件是一项常见的任务,特别是在数据处理和分析的场景中。Apache POI是一个流行的API,它允许程序员读写Microsoft Office格式的文件,包括...

    java解析Excel文件并把数据存入数据库和导出数据为excel文件SpringBoot代码示例

    2、java读取数据库数据,并导出为excel文件。 3、README.md中有详细的操作步骤示例。 使用说明: 1. 先使用postman导入:other/excel相关.postman_collection.json 2. 导入sql到数据库:other/excel.sql 3. idea导入...

    java实现excel导入数据库

    要完成这个过程,我们需要使用特定的库来读取Excel文件,并使用JDBC(Java Database Connectivity)来与MySQL数据库进行交互。下面将详细解释如何实现这个功能。 首先,我们需要引入两个关键的第三方库:Apache POI...

    TXT文件数据导入到mysql数据库

    2. **编程语言接口**:通过编程语言如Python、Java、PHP等,可以读取TXT文件并逐行处理,然后使用相应的数据库驱动(如Python的pymysql库)将数据插入到MySQL中。这在处理大量数据时可能较慢,但提供了更大的灵活性...

    java算法,从txt文件中读取数据录入mysql

    在Java编程中,将数据从TXT文件读取并导入MySQL数据库是一项常见的任务,涉及到文件操作、字符串处理以及数据库交互等多个知识点。以下是对这些关键概念的详细解释: 1. **文件操作**:`FileOper.java`可能包含了对...

    java实现读取word文件并且上传到数据库

    提供的压缩包文件"java读取word和Excel文件"可能包含了示例代码或模板,用于展示如何结合Apache POI和JDBC实现上述功能。通过研究这些文件,你可以更深入地理解如何在Java中实现这个任务。 总的来说,这个项目涉及...

    java读取cvs文件并导入数据库

    "java读取cvs文件并导入数据库" Java读取CSV文件并导入数据库是很常见的一种数据导入方式,今天我们就来详细介绍这个过程。 为什么需要读取CSV文件并导入数据库? 在实际应用中,我们经常会遇到需要将数据从CSV...

Global site tag (gtag.js) - Google Analytics