用util包里的scanner读取一个文本文件,文件有一万七千多行,但是不知道怎么搞的读完了控制台输出的时候只有4953-6478行,郁闷毁了,想分行读取,欢迎高手帮忙解答。代码如下StringBu...
用util包里的scanner读取一个文本文件,文件有一万七千多行,但是不知道怎么搞的读完了控制台输出的时候只有4953-6478行,郁闷毁了,想分行读取,欢迎高手帮忙解答。
代码如下
StringBuffer sql = new StringBuffer();
Scanner scan = null;
try {
scan = new Scanner(fr);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
Date now = new Date();
while (scan.hasNext()){
String tem = scan.nextLine();
String[] st = tem.split(",");
tem = "insert into movie values(\'"+st[0]+"\',\'"+st[1]+"\',\'"+st[2]+"\')\n";
System.out.print(tem);
sql.append(tem);
}
Date late = new Date();
System.out.println(late.getTime()-now.getTime());
肯定不是啦~ 要是连这个都分不清 我可以去撞墙了。 很诡异的事情高手来帮忙啊~ 现在用的BufferedReader搞定了,可是怎么也考虑不清楚Scanner是怎么回事。
对了 Statement.execute方法有长度限制吗?一万多行的数据拼接成一条StringBuffer,大概也就几十万个字符长度到一百万个字符长度吧,结果往数据库发送的时候总是说SQL语句未正常结束。郁闷,都是相当诡异的问题。
展开