做开发的时候需要对一个CSV文件进行解析,并把解析的结果存入数据库中,于是上网查了下资料,找到了csvjdbc这个东东,看了下文档,就是把csv文件当做数据库操作,那多简单啊,于是下了马上动手开始做解析工作。
根据文档上面的介绍,解析很简单,首先注册好驱动,然后和JDBC一样的操作就OK了,这里打个比方,如果我的文件是/local/mydata/1111.csv,那么路径就是/local/mydata 数据源就是1111这里就这么一点要注意,下面贴代码了,看看就知道了。
1
Class.forNam(
"
org.relique.jdbc.csv.CsvDriver
"
);
//
注册驱动
2
Properties props
=
new
java.util.Properties();
3
props.put(
"
charset
"
,
"
gbk
"
); //确定编码
4
props.put(
"
separator
"
,
"
,
"
);
//
确定分隔符
5
props.put(
"
fileExtension
"
,
"
.csv
"
);
//
文件类型.csv
6
String path
=
"
jdbc:relique:csv:/local/mydata
"
;
7
Connection conn
=
DriverManager.getConnection(path,props);
//
建立连接
8
Statement stmt
=
conn.createStatement();
9
ResultSet results
=
stmt.executeQuery(
"
SELECT * FROM 1111
"
);
//
查询结果
10
while
(results.next())
11![](https://i-blog.csdnimg.cn/blog_migrate/1fa987a29c6482f53d401256f96355eb.gif)
{
12
//你的数据解析操作在这里获取数据既可以用索引(开始值是1)results.getString(index),也可以用属性results.getString("name")
13
}
14
results.close();
15
stmt.close();
16
conn.close();
//
O 了
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
2
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
3
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
4
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
5
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
6
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
7
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
8
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
9
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
10
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
11
![](https://i-blog.csdnimg.cn/blog_migrate/1fa987a29c6482f53d401256f96355eb.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/ca75c07623e1b494fee67e8f316fc310.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/9b8a8a44dd1c74ae49c20a7cd451974e.gif)
12
![](https://i-blog.csdnimg.cn/blog_migrate/d18c02628675d0a2c816449d98bda930.gif)
13
![](https://i-blog.csdnimg.cn/blog_migrate/8f1ba5b45633e9678d1db480c16cae3f.gif)
14
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
15
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
16
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
由于这个东东只提供了只读的操作,所以你只能使用select之类的语句啦,呵呵!对于我来说已经足够了!