求高人解惑java操作csv文件

来源:百度知道 编辑:UC知道 时间:2024/05/29 23:52:31
现在有个csv文件要读到数据库里面去?应该怎么做?
1.第一种通过buufferedReader和fileReader办法我已经尝试过,但是有个问题,比如csv文件的内容为:
11,ttt,2009-1-1 这样的三个内容,用代码已经读到了,但是当插入表中时由于数据库字段的顺序和csv文件顺序不一定相同,
就好像如果你要写成 insert into (date,id,detail) values(11,ttt,2009-1-1)这样的顺序的话就会出错,怎么解决?

2.第二种办法我也试过了,用一个叫做csvjdbc的组件,这个组件可以把csv当成一个数据表来操作,但是又有问题了,我要对这个csv做嵌套查询,但是csvjdbc不支持嵌套查询,怎么办?

谁能帮我解决一下,不管何种方法不胜感激~
因为csv是从别的数据库A里面导出的,数据库A虽然和我自己的数据库B字段都相同,但是顺序未必一样,比如说数据库A的字段是id,date,detail,导出csv文件,文件内容为
5,2009-1-1,ssss
而我自己的数据库B为detail,id,date,如果这样的话,你如果按照数据库A的顺序插入我自己的B中,那么就是
insert into B(detail,id,date) values(5,2009-1-1,ssss),这样肯定是不对的...不知道意思说清楚了没,呵呵,其实就是A导出的字段排序我无法控制,呵呵~

你应该要有一个数据模型,来接收你读到的内容。然后,再去按新的要求操作这个数据对象。LZ以前是不是从事结构化编程工作的?

自己实现个方法:
读到5,2009-1-1,ssss 那么则insert into B(id,date,detail)
如果 ssss, 5, 2009-1-1 那么insert into B(detail,id,date)

其中最明显的地方就是 第一行
肯定是有 id,date,detail根据第一行写insert语句
---------------------------------------------------------------
但是当插入表中时由于数据库字段的顺序和csv文件顺序不一定相同,
---
既然你那已经读到内容了, 那你当然可以对那进行整理 处理成你那数据库所需要的顺序的啊

dfdffff