精华内容
下载资源
问答
  • 急急急!java实现将txt文件数据导入数据库中。百万级别的数据。各位有什么好的办法吗
  • package ...import java.io.File;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;impor...

    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");

    }

    }

    展开全文
  • 楼主因为要对一些存在txt文件里的文件加入到数据库,但是一些一些...将txt文件的编码设为utf8;2.将数据库的编码格式设为utf8;语句如下:SET character_set_database = utf8 ;set names utf83.将eclipse工程的编码格...

    楼主因为要对一些存在txt文件里的文件加入到数据库,但是一些一些已经存在的方法我都试过了,都不成功,无奈之下只好用java编写了一段程序来导入数据;

    但中间出现了汉字乱码问题,解决方法如下:

    1.将txt文件的编码设为utf8;

    2.将数据库的编码格式设为utf8;语句如下:SET character_set_database = utf8 ;set names utf8

    3.将eclipse工程的编码格式设为utf8;语句如下:找到工程,右击,properties,resources,设置编码为utf8

    具体的代码如下:

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.PreparedStatement;

    import java.sql.SQLException;

    import java.io.BufferedReader;

    import java.io.FileNotFoundException;

    import java.io.FileReader;

    import java.io.IOException;

    import java.lang.reflect.*;;

    public class JdbcStudy {

    private String url = "jdbc:mysql://localhost:3306/bigdata";

    private String user="root";

    private String password="ROOT";

    BufferedReader br;

    Connection con;

    public void test() throws SQLException, IOException {

    try {

    Class.forName("com.mysql.jdbc.Driver");

    } catch (ClassNotFoundException e1) {

    // TODO Auto-generated catch block

    e1.printStackTrace();

    }

    try {

    con = DriverManager.getConnection(url, user, password);

    } catch (SQLException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    PreparedStatement ps=con.prepareStatement("insert into data values(?,?,?,?,?,?,?,?)");

    br=new BufferedReader (new FileReader("f:/gd_train_data.txt"));

    String str=null;

    String s[]=new String[7];

    int i=1;

    while ((str=br.readLine())!=null){

    s=str.split(",");

    ps.setInt(1, i++);

    ps.setString(2, s[0]);

    ps.setString(3, s[1]);

    ps.setString(4, s[2]);

    ps.setString(5, s[3]);

    ps.setString(6, s[4]);

    ps.setString(7, s[5]);

    ps.setString(8, s[6]);

    ps.executeUpdate();

    }

    br.close();

    ps.close();

    con.close();

    }

    public static void main(String[] args) {

    // TODO Auto-generated method stub

    JdbcStudy JS=new JdbcStudy();

    try {

    JS.test();

    } catch (SQLException | IOException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    }

    展开全文
  • java版Excel文件导入数据库源代码

    热门讨论 2009-05-20 18:57:24
    java版Excel文件导入数据库源代码 servlet容器:tomcat(或者其他) 数据库:oracle(或者其他) 使用框架:jsp+struts1.2 支持字符型/数据型/日期型/CLOB等数据 使用步骤: 1.下载本资源,解压后得到4个文件:...
  • 1、文件格式形如:6|1|2|3|142、写一个ctl文件,项目中此文件也可以从数据库读取值写入到文件中。文件内容如下:LOAD DATAinfile 'C:\file\local\APPLY_20150612.txt'appendinto table TMP_LOAD_DATAfields ...

    1、文件格式形如:6|1|2|3|14

    2、写一个ctl文件,项目中此文件也可以从数据库读取值写入到文件中。

    文件内容如下:

    LOAD DATA

    infile 'C:\file\local\APPLY_20150612.txt'

    append

    into table TMP_LOAD_DATA

    fields terminated by '|'

    trailing nullcols

    (

    CUST_NAME "trim(:CUST_NAME)",

    BATCH_CODE "trim(:BATCH_CODE)"

    )

    3、写bat文件

    SQLLDR userid=username/password@orcl CONTROL=D:\workspace\temp\LOAD20150612.ctl LOG=C:\temp_log.log errors=2000

    pause

    4、写java类调用bat文件

    public class InvokeBat {

    public void runbat(String batName) {

    try {

    Process ps = Runtime.getRuntime().exec(batName);

    ps.waitFor();

    } catch (IOException ioe) {

    ioe.printStackTrace();

    } catch (InterruptedException e) {

    e.printStackTrace();

    }

    }

    //测试执行bat

    public static void main(String[] args) {

    InvokeBat2 test1 = new InvokeBat2();

    String batName = "D:\\workspace\\shell\\file2db.bat";

    test1.runbat(batName);

    System.out.println("main thread");

    }

    } 5、如此,文件中的数据就会存入到数据库表中。

    展开全文
  • 我试图导入我的数据库的数据到txt文件,之后我想再次导出它从这个文本文件,我写了这段代码private void importdata() {try {Class.forName("com.mysql.cj.jdbc.Driver");con = DriverManager.getConnection("jdbc:...

    我试图导入我的数据库的数据到txt文件,之后我想再次导出它从这个文本文件,我写了这段代码private void importdata() {

    try {

    Class.forName("com.mysql.cj.jdbc.Driver");

    con = DriverManager.getConnection("jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone = UTC", "root", "");

    } catch (Exception ex) {

    Tools.msg(ex.getMessage());

    }

    String csvFilePath = "D://t1.txt";

    try {

    String sql = "select ID,address,name from t1";

    stmt = con.createStatement();

    rs = stmt.executeQuery(sql);

    FileOutputStream file = new FileOutputStream(csvFilePath);

    OutputStreamWriter fileWriter = new OutputStreamWriter(file, StandardCharsets.UTF_8);

    fileWriter.write("ID,Name,address");

    while (rs.next()) {

    int ID = rs.getInt("id");

    String Name = rs.getString("name");

    String address = rs.getString("address");

    String line;

    line = String.format("%s,%s,%s",

    ID,address,Name);

    fileWriter.write("\n");

    fileWriter.write(line);

    }

    stmt.close();

    fileWriter.close();

    } catch (SQLException | IOException ex) {

    Logger.getLogger(importandexport.class.getName()).log(Level.SEVERE, null, ex);

    }

    try {

    Class.forName("com.mysql.cj.jdbc.Driver");

    con = DriverManager.getConnection("jdbc:mysql://localhost/test?useUnicode=true characterEncoding=UTF-8&serverTimezone = UTC", "root", "");

    String sql = "delete from t1";

    stmt = con.createStatement();

    stmt.executeUpdate(sql);

    stmt.close();

    } catch (Exception ex) {

    Tools.msg(ex.getMessage());

    }

    }

    private void export() {

    try {

    Class.forName("com.mysql.cj.jdbc.Driver");

    con = DriverManager.getConnection("jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone = UTC", "root", "");

    } catch (Exception ex) {

    Tools.msg(ex.getMessage());

    }

    String sql = "LOAD DATA INFILE 'D://t1.txt' \n"

    + "INTO TABLE t1 \n"

    + "FIELDS TERMINATED BY ',' \n"

    + "LINES TERMINATED BY '\\n'\n"

    + " IGNORE 1 ROWS";

    try {

    stmt = con.createStatement();

    stmt.executeUpdate(sql);

    stmt.close();

    } catch (Exception ex) {

    Tools.msg(ex.getMessage());

    }

    }

    这段代码对我来说很好,但是现在我想选择(ID,name,address)和加载(ID,name,address)而不是(ID,address,name),但是我做不到,那么我怎么做呢?

    展开全文
  • 将txt数据导入数据库

    千次阅读 2017-11-27 23:17:09
    java实现从txt文本文件批量导入数据至数据库 标签: 数据库java文本文件批量导入 2017-05-07 14:11 2231人阅读 评论(3) 收藏 举报 分类: 数据库(12) 今天同事让我准备一个项目的测试数据,要向一...
  • java txt文件导入数据到mysql数据库

    千次阅读 2019-04-04 09:47:27
    1.接收前端传入的参数 @RequestParam("uploadFile") MultipartFile file 2.将文件写入系统中 3.读取文件内容并存入数据库
  • 展开全部Java中将txt文件导入62616964757a686964616fe58685e5aeb931333337613138到mysql基本的思路就是先使用I/O操作流获取到文件具体信息,然后信息拼接成mysql插入到数据库中,示例如下:1、先读取txt文件的内容...
  • 最近学习Java,需要将txt、excel 、xml 文档导入数据库,找了一些资料整理如下;连接 Access 2007(其他数据库类似)假设我们已经在 D 盘下创建了 Access 数据库 BookDatabase.mdb,现在去连接它。在D盘中还有如下文件...
  • Java 导入导出txt文件。Oracle数据库导出成txt格式方法,如何将数据库表单信息生成txt文件。daoJava代码 收藏代码/*** 获得所有数据*/public String getAllWord() {Session session=super.getSession();StringBuffer...
  • java实现将文件内容导入数据库

    千次阅读 2015-06-12 19:02:35
    2、写一个ctl文件,项目中此文件也可以从数据库读取值写入到文件中。 文件内容如下: LOAD DATA infile 'C:\file\local\APPLY_20150612.txt' append into table TMP_LOAD_DATA fields terminated by '|' ...
  • 一个student.txt文件的数据导入MySQL数据库中一张student1表中:import java.io.*;import java.sql.*;import java.util.*;public class TextToDataBase {/*** @param args* 本程序涉及文件IO,字符串分隔...
  • 工作中有很多数据以txt方式存储,需要导入oracle数据库处理(方便进行计算、统计),因文件较多,不便于手工处理,所以编写此程序以便进行数据导入。已经测试过,可以数据导入oracle。
  • Java调用SqlLoader大文本导入数据库 业务场景:一千万条数据,大约500M的文本文档的数据导入到数据库  分析:通过Java的IO流解析txt文本文档,拼接动态sql实现insert入库,可以实现,缺点如下 第一:IO流解析大...
  • 今天同事让我准备一个项目的...用循环实现比较麻烦,于是我想到了记录从文本文件导入数据库(其实SQLServer可利用sql语句实现导入xls或txt文件,在这就不具体说明了),写个简单的具有解析文本文件并解析结果插入
  • 项目描述一千万条数据,大约500M的文本文档的数据导入数据库分析:通过Java的IO流解析txt文本文档,拼接动态sql实现insert入库,可以实现,缺点如下第一:IO流解析大文本文件对机器性能要求较高,测试大约消耗2G...
  • import java.io.*; import java.sql.*;...* 本程序涉及文件IO,字符串分隔StringTokenizer,JDBC,数据库sql语句 */ public static void main(String[] args) { Connection con=null; PreparedStatement p
  • 直接用JAVA将结构化文本文件导入数据库时,需要手工拼凑SQL语句,还需要处理各种麻烦情况,比如:表中数据是否已经存在,是要update还是要insert,文件中是否包含字段,文件中的字段是否和表字段一致。 使用集算器...
  • 今天同事让我准备一个项目的...用循环实现比较麻烦,于是我想到了记录从文本文件导入数据库(其实SQLServer可利用sql语句实现导入xls或txt文件,在这就不具体说明了),写个简单的具有解析文本文件并解析结果插入
  • 直接用JAVA将结构化文本文件导入数据库时,需要手工拼凑SQL语句,还需要处理各种麻烦情况,比如:表中数据是否已经存在,是要update还是要insert,文件中是否包含字段,文件中的字段是否和表字段一致。 使用集算器...
  • 直接贴代码 用java简单筛选 ... import java.io.*;... public static String txt2String(File file) { StringBuilder result = new StringBuilder(); try { BufferedReader br = new BufferedReader(new FileRea
  • 今天同事让我准备一个...用循环实现比较麻烦,于是我想到了记录从文本文件导入数据库(其实SQLServer可利用sql语句实现导入xls或txt文件,在这就不具体说明了),写个简单的具有解析文本文件并解析结果插入...

空空如也

空空如也

1 2 3 4 5
收藏数 98
精华内容 39
关键字:

java将txt文件导入数据库

java 订阅