`

CSV文件操作

阅读更多
package me.test;

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 java.util.List;

import org.skife.csv.CSVReader;
import org.skife.csv.SimpleReader;

/**
 * 说明:作为示例,将CSV中的数据插入到数据库中。
 * 注意:仅仅是功能性示例,没有try...catch...,请自行追加,并确认该如何commit和rollback。
 * 
 * 
 * 数据库DDL:
 *    CREATE TABLE USER (ID INT , NAME VARCHAR(45), PRIMARY KEY(ID));
 *
 * CSV文件(C:/t.csv)中的数据内容 
 *    1, 张三 
 *    2, 李四 
 *    3, 王五
 * 
 * 参考第三方类库: 
 * MySQL Jdbc驱动包 
 *    http://www.mysql.com/products/connector/ 
 * Apache commons CSV -> Skife CSV -> csv-1.0.jar
 *    http://commons.apache.org/sandbox/csv/
 * 
 * @author btpka3@163.com
 */

public class Csv2DB {

    // 测试代码
    @SuppressWarnings("unchecked")
    public static void main(String args[]) throws ClassNotFoundException,
            SQLException, IOException {

        // 加载驱动类
        Class.forName("org.gjt.mm.mysql.Driver");

        // 创建数据库连接
        String url = "jdbc:mysql://localhost:3306/test";
        String userName = "root";
        String password = "123456";
        Connection conn = DriverManager.getConnection(url, userName, password);

        String sql = "INSERT INTO USER(ID, NAME) VALUES(?,?)";
        PreparedStatement stmt = conn.prepareStatement(sql);
        conn.setAutoCommit(false);

        CSVReader reader = new SimpleReader();

        // CSV 文件路径
        String csvFilePath = "C:/t.csv";
        // CSV 文件中是否有一条头部记录(非数据,类似于列名)
        boolean hasHeaderRec = false;
        List<String[]> recList = reader.parse(new File(csvFilePath));
        for (int i = 0; i < recList.size(); i++) {
            String[] rec = recList.get(i);
            if (i == 0 && hasHeaderRec) {
                continue; // 跳过头部记录
            }
            stmt.clearParameters();
            stmt.setInt(1, Integer.valueOf(rec[0]));
            stmt.setString(2, rec[1]);
            stmt.execute();
        }
        stmt.close();
        conn.commit();
        conn.close();
        System.out.println("success");
    }
}
从西藏学
  • src.rar (37.7 KB)
  • 下载次数: 12
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics