`
googlelc
  • 浏览: 57594 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java读取文本文件到mysql数据库【示例3】-批量导入文本文件

 
阅读更多

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、成功导入到数据库:

分享到:
评论

相关推荐

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

    在IT行业中,批量读取文本文件(如TXT文件)并将其数据导入到数据库是一项常见的任务,特别是在处理大量数据时。这个“批量读取txt文件导入数据库Demo实例”可能是一个示例程序,展示了如何高效地完成这项工作。下面...

    java txt文件解析xml格式添加到数据库

    在Java编程中,处理文本文件和XML数据是常见的任务,特别是在需要将这些数据存储到数据库时。本篇文章将深入探讨如何解析TXT文件中的XML数据并将其有效地导入到数据库。 首先,我们要理解TXT文件中XML的基本结构。...

    java编程excel导入MySQL.pdf

    9. SQL插入操作:读取到的Excel数据会被构造成SQL插入语句,然后执行以将数据导入到MySQL数据库。注意SQL注入的风险,这里直接拼接SQL语句并不安全,实际应用中应使用参数化查询或者预编译语句。 10. JDBC连接MySQL...

    java编程excel导入MySQL[文].pdf

    以下是一个简单的Java代码示例,它使用Apache POI库来读取Excel文件(.xls格式),并将其内容插入到MySQL数据库中。 首先,Apache POI是一个流行的API,它允许程序员创建、修改和显示Microsoft Office文件,包括...

    CSV文件操作

    - 导入数据:将CSV文件的数据批量导入到关系型数据库,如MySQL、PostgreSQL,通常使用SQL的`LOAD DATA INFILE`语句或编程接口(JDBC)实现。 - 导出数据:从数据库查询结果生成CSV文件,通常涉及遍历查询结果集,...

    计算机软件-编程源码-向数据库中导入数据的几种方法.zip

    对于NoSQL数据库,如MongoDB,可以使用`mongoimport`工具或者编程接口(如PyMongo)来批量导入JSON或CSV数据。 每种方法都有其适用场景,选择哪种取决于数据量、数据格式、性能需求以及所使用的数据库系统。了解并...

    导入Excel数据到数据库

    完成了Excel文件的读取之后,接下来的任务是将这些数据批量导入到数据库中。具体步骤包括: 1. **建立数据库连接**:使用JDBC连接数据库。 2. **创建SQL语句**:根据需要插入的数据结构编写相应的SQL语句。 3. **...

    mysql里excel数据导入方法.rar

    3. **编程语言接口**:如果你熟悉编程,可以使用Python的pandas库或Java的JDBC API来读取Excel文件并批量插入MySQL。例如,Python示例代码如下: ```python import pandas as pd from sqlalchemy import create_...

    计算机软件-商业源码-向数据库中导入数据的几种方法.zip

    3. **LOAD DATA INFILE**(MySQL):MySQL提供了一个名为`LOAD DATA INFILE`的命令,允许快速从CSV或其他文本文件导入数据。这种方式比使用INSERT语句快得多,适合大批量数据导入。 4. **BULK INSERT**(SQL Server...

    Access数据库导入Mysql的方法之一

    这种方法适用于小到中等规模的数据迁移,对于大量数据,可能需要考虑更高效的方法,如使用ETL工具(Extract, Transform, Load)或者数据库管理系统的批量导入功能。此外,随着技术的发展,现代数据库如MySQL 8.0也...

    ExcelDemo.zip

    标题“ExcelDemo.zip”指的是一个压缩包文件,其中包含了与使用Excel文件上传数据到MySQL数据库相关的示例或教程。这个过程通常涉及到数据处理、数据库连接和数据导入等步骤,是IT行业中常见的数据管理任务。 首先...

    Csv导入导出.rar

    - 数据库导入:在数据库管理系统中,如MySQL、PostgreSQL等,可以使用LOAD DATA INFILE语句将CSV数据快速导入到表格中,进行数据批量加载。 - 编程语言导入:编程语言如Python、Java、R都有相应的库支持CSV文件的...

    poi点入库处理,按照地市导入处理,自己需要创建表sa_poi_annotation

    本文将围绕“poi点入库处理”这一主题,深入探讨如何使用C#语言结合Apache POI库来处理地图上的POI(Point of Interest)数据,并将其批量导入到MySQL数据库中。首先,我们需要创建一个名为`sa_poi_annotation`的...

    java-phonebook:示例电话簿 Web 应用程序

    在电话簿应用中,用户可能需要导入或导出Excel文件来批量管理联系人。JExcelAPI提供了与Excel电子表格交互的接口,可以读取现有数据,或者创建新的工作表并填充数据。 5. **ZK Framework**: ZK是一个用于构建富...

    auto insert_Table_database_MYSQL_

    标题“auto insert_Table_database_MYSQL_”提示我们讨论的主题是关于自动插入数据到MySQL数据库中的表格的程序。这个过程通常涉及到编程,特别是使用SQL语言,可能还包括自动化脚本或存储过程来实现批量或循环插入...

    管理系统或demo的源码,请注明功能要求、使用技术、数据库设计、用户界面搭建、以及扩展需求(如安全控制)

    - **数据导出与导入**:提供工具或接口实现数据的批量导入和导出功能。 - **数据备份与恢复**:确保数据的安全性和完整性,定期备份数据并能够在出现故障时快速恢复。 3. **报表生成** - **自定义报表**:允许...

    Spring Batch参考文档中文版

    通过这个示例可以了解如何配置Spring Batch来实现数据导入任务,包括配置`ItemReader`读取CSV文件中的数据,配置`ItemWriter`将数据写入MySQL数据库。 #### 七、Spring Batch 3.0新特性 1. **JSR-352支持**:增加...

    XOffice 数据生成WORD

    这通常涉及到读取Excel文件,解析其内容,然后使用SQL语句插入到数据库表中。Python的pandas库、Java的Apache POI和.NET框架中的Microsoft.Office.Interop.Excel接口都可以方便地实现这一功能。确保数据的一致性和...

    sample-csv-data

    6. **数据导入导出**:CSV常作为数据库导入导出的格式,例如MySQL、PostgreSQL等支持从CSV文件批量导入数据。 7. **数据隐私**:处理CSV数据时,应考虑数据隐私,确保敏感信息如个人身份信息得到适当保护。 8. **...

Global site tag (gtag.js) - Google Analytics