找到一个jdbc的scv驱动
[url]http://www.sourceforge.net/projects/csvjdbc[/url]
例子
在DriverManager.getConnection(url, props);可以指定一些参数
[color=red]-------------------------------------------------------------------------------------[/color]
[list]
[*]不支持修改操作
[*]不支持PreparedStatement
[*]不支持多表连接
[*]不支持order by
[*]不支持group by
[*]不支持常用的sql函数
[*]resultSet.getMetaData().getColumnCount()得到不是结果集列个数是整个csv的列数
[/list]
[url]http://www.sourceforge.net/projects/csvjdbc[/url]
例子
_id,_name,_qq
1,YING Zhuo,23007067
2,HU Haozhang,609370723
3,LIU Qixun,48365832
package cn.com.legendapl.csv.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.junit.Test;
public class TestCase_Database {
@Test
public void test() {
Connection conn = null;
Statement statement = null;
ResultSet rs = null;
try {
Class.forName("org.relique.jdbc.csv.CsvDriver");
conn = DriverManager.getConnection("jdbc:relique:csv:C:\\Users\\DellYing\\Desktop\\csv");
statement = conn.createStatement();
rs = statement.executeQuery("select _id, _name, _qq from contacts");
while(rs.next()) {
System.out.println(rs.getString("_id"));
System.out.println(rs.getString("_name"));
System.out.println(rs.getString("_qq"));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (rs != null) try{rs.close();}catch(SQLException ex) {}
if (statement != null) try{statement.close();}catch(SQLException ex) {}
if (conn != null) try{conn.close();}catch(SQLException ex) {}
}
}
}
在DriverManager.getConnection(url, props);可以指定一些参数
/**
* separator 参数设置: CSV 文件中数据分割符
*/
private static final String CSV_PROP_SEPARATOR = "separator";
/**
* separator 参数设置: 首行包含数据否
*/
private static final String CSV_PROP_SUPHEADER = "suppressHeaders";
/**
* fileExtension 参数设置: 文件类型
*/
private static final String CSV_PROP_FILEEXTEN = "fileExtension";
/**
* charset 参数设置: 字符集
*/
private static final String CSV_PROP_CHARSET = "charset";
/**
* ignoreHeaderLineNumber 参数设置: CSV文件头行数
*/
private static final String CSV_PROP_HEADERNUM = "ignoreHeaderLineNumber";
[color=red]-------------------------------------------------------------------------------------[/color]
[list]
[*]不支持修改操作
[*]不支持PreparedStatement
[*]不支持多表连接
[*]不支持order by
[*]不支持group by
[*]不支持常用的sql函数
[*]resultSet.getMetaData().getColumnCount()得到不是结果集列个数是整个csv的列数
[/list]