BufferedReader bufferedreader = new BufferedReader(new FileReader(文件));
String stxt = bufferedreader.readLine();
读出文件,再一条一条插入应该可以吧。
String stxt = bufferedreader.readLine();
读出文件,再一条一条插入应该可以吧。
解决方案 »
- c3p0数据源设置不管用,总出现超时连接没法释放
- weblogic问题。
- struts 中使用tree出了 [b]IE无法打开站点……已终止操作![/b]
- ant配置疑问,搞不懂?
- struts使用validator验证时stopOnFirstError 属性无效.
- ORACLE中怎么比较2个date类型数据的大小啊
- 工作流引擎Shark和JaWE所使用的xml-object映射的设计
- ▓▓▓▓▓▓▓▓ 使用SPRING IOC时,我怎么怎么设计类才好 ▓▓▓▓▓▓▓▓
- 困惑几天的问题:Cannot find bean under name org.apache.struts.taglib.html.BEAN
- jb9+axis
- 关于JAVA开发工具
- EJB问题
我是按照COMMIT来判断语句结束的。这样又有一种新的问题了。。一个SAVEPOINT和一个COMMIT之间可能出现多条SQL。我觉得这里应该可以用递归的方法把SQL解析出来。不过还是不太会写。头有点大。。
我这个文件比较大,多的时候有几万行,最少也有一万左右。如果放在buffer里面这个方法不是太好的。
比如:
InsertStar: Statement :InsertEnd
按你的要求,要SQL语句就只取你定义的标记之间的东西就可以了,别的也一样的道理
0) 设置一个Set,作为分析器,存储所有用作分割的关键字
1) 设置一个读取行数,比如n放到buffer
2-1) 每次读一个buffer,去匹配Set,如果匹配到了,就将语句分离出来,并记住位置
2-2) 如果没读到,就扩大buffer(再读入一段n行),重复2-1
3) 从记住的位置继续,重复2-1
需要注意的是,位置需要用二维的