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");
    }
}
从西藏学

注意!此信息未认证,请谨慎判断信息的真实性!

全部评论
空

相关内容推荐

头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
2022-12-27 14:35
天津大学_2023
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
点赞 评论 收藏
转发
点赞 收藏 评论
分享

全站热榜

正在热议