`

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
分享到:
评论

相关推荐

    对CSV文件操作方法

    以下是对CSV文件操作的详细步骤和知识点: 1. **创建CSV文件**: 创建CSV文件的基本思路是打开一个文件流,然后以逗号分隔的方式写入数据。在VC++中,可以使用`fopen()`函数打开或创建文件,`fprintf()`函数写入...

    C# Excel/Csv文件操作的多种方法(打开,读取,赋值,保存模板,datagridview导入导出Excel等)

    C# Excel/Csv文件操作的多种方法 1、通过OleDb操作excel 2、通过Microsoft.Office.Interop.Excel COM组件操作Excel 3、使用开源库NPOI操作Excel 4、使用OpenXml操作Excel 5、Excel导入DataGridView 6、Datagridview...

    CSV文件操作 C#.Net实例代码

    总结起来,C# .NET为CSV文件操作提供了多种方式,开发者可以根据具体需求选择合适的方法。无论是简单的读写,还是复杂的处理,都能在C#中轻松实现。通过深入理解这些基础操作,我们可以更好地在各种项目中运用CSV...

    使用Python对Csv文件操作共5页.pdf.zip

    本篇文档“使用Python对Csv文件操作共5页.pdf”深入探讨了如何利用Python高效地操作CSV文件。以下是对这一主题的详细说明: 1. **Python中的csv模块**:Python的标准库提供了csv模块,用于读写CSV文件。这个模块...

    CSV文件操作源码

    在这个"CSV文件操作源码"中,我们可以预见到包含了一些处理CSV文件的编程代码,可能是读取、写入、分析或转换CSV数据的功能。 源码通常涉及到以下几个核心知识点: 1. **文件打开与关闭**:在处理CSV文件时,首先...

    基于python的sql操作,对csv文件操作,提供完整代码

    3. **CSV文件操作**: - Python的内置`csv`模块用于读写CSV文件。例如,读取CSV文件到列表: ```python import csv with open('students.csv', 'r') as file: reader = csv.reader(file) student_data = [row...

    csv文件操作.rar_csv文件写入_labview csv写入_labview写csv_labview操作csv_shown

    labview写入csv文件,可以轻松写入文件,简单易懂

    c# 对CSV文件操作(写入、读取、修改)

    C# 对CSV文件操作(写入、读取、修改) C# 对CSV文件操作是指通过C# 编程语言对CSV(Comma Separated Values,逗号分隔值)文件进行读写和修改操作。CSV文件是一种 plaintext 文件格式,用逗号分隔每个字段,常用于...

    CSV文件操作及Gzip压缩文件操作

    CSV文件的统计,使用了linq、linq to sql、DataTable的各种操作。 对统计好的文件进行的导出CSV和excel操作。本项目还涉及到文件的下载操作及断点续传操作,以及性能监视的部分功能。可谓多重技术混合,对初步入门的...

    VC++读写CSV文件的例子

    为了方便使用,可以封装一个CSV文件操作类,提供更高级别的API,如`readRow()`和`writeRow()`。此外,还可以处理包含逗号、引号等复杂情况的CSV文件,例如使用双引号包裹含有逗号的字段。 对于压缩包子文件...

    csv文件读写操作

    总结,CSV文件读写在VS2015的MFC环境中主要涉及文件操作、字符串处理和用户界面交互。通过合理的编程设计,可以实现高效且易维护的CSV数据管理功能。在实际项目中,还需要考虑数据验证、错误处理、用户体验等多个...

    C++读写CSV文件

    这个C++实现支持以下CSV文件操作: 1. **CSV创建**:创建一个新的CSV文件并写入数据。 2. **行列插入**:可以在任意位置插入新的行或列,需要维护数据的对应关系。 3. **行列修改**:定位到特定的行列,修改其值。 4...

    VB操作EXCEL的csv文件

    5. **CSV文件操作示例**: - **内容相加**:假设我们有两个CSV文件,每行对应的数据相加后写入新的CSV文件。 - **内容转置**:将CSV文件的列转换为行,即原文件的第一行变为新文件的第一列,原文件的第二行变为新...

    Opencv2中csv文件操作CvMLData在SVM支持向量机中的应用

    在OpenCV2中,CSV文件的操作是通过CvMLData类来实现的,这个类主要用于机器学习算法的数据处理,特别是支持向量机(SVM)等监督学习模型。本篇文章将详细探讨如何使用CvMLData与SVM相结合,处理CSV文件中的数据,并...

    一款方便快速的CSV文件的阅读器

    这款CSV文件阅读器是一款专为简化CSV文件操作而设计的工具,旨在帮助用户更快速、便捷地查看和分析CSV数据。 首先,我们来深入了解CSV文件的结构和特点。CSV文件通常包含多行数据,每行代表一个记录,记录中的每个...

Global site tag (gtag.js) - Google Analytics