请教关于java读取文本后插入数据库的问题

ls8182 2009-08-19 10:12:31
我读的是一个文本,内容是两行数据 aaa|bbb|ccccc|ffff|dddgfg
1|2222|3333333|dfgg|2dgh 执行下面的语句
while ((str = br.readLine()) != null) {
String[] names = str.split("\\|");
String col1=names[0];
String col2=names[1];
String col3=names[2];
String col4=names[3];
String col5=names[4];
if (col5==null){col5="";}
System.out.println(col5);
String sqlinsert = "insert into readfile values ('"+col1+"','"+col2+"','"+col3+"','"+col4+"','"+col5+"')";
ps=connection.prepareStatement(sqlinsert);
ps.execute(sqlinsert);
} 是没有问题的,但是有个新问题,就是如果文本每行里最后一个字符串是空,比如说 第一行aaa|bbb|ccccc|ffff|
第二行1|2222|3333333|dfgg|执行就会报数组超界,数据就不能执行插入操作了,如何解决呢????
本文来自: IXPUB技术社区(www.ixpub.net) 详细出处参考:http://www.ixpub.net/thread-933212-1-1.html
...全文
113 2 打赏 收藏 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ltandfyy 2009-08-21
  • 打赏
  • 举报
回复
我想你的问题是出在即使数据是 aaa|bbb|ccccc|ffff| 你也想切成5个

那你的str.split("\\|"); 改一下 改成 str.split("\\|",-1);

具体为什么这样,你去查下api
laoqi1999 2009-08-21
  • 打赏
  • 举报
回复
根据names长度,遍历数据。因为你得到的数组大小是不定的,不要写死



62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧