要读取txt里的内容,处理后插入数据库。现在不知道数据量到底有多大,想问一下,用什么方式读效率高:是按字节、字符、行还是随机读取?里面的数据大体上是下面这个样子的1018,CWXF2011072001,促销费,客户保有,1200000.00,集客部,营销策划部;
1018,CWXF2011072002,促销费,客户保有,6000000.00,集客部,营销策划部;
1018,CWXF2011072003,促销费,客户关怀,1200000.00,集客部,"营销策划部;
然后我是将真个 TXT 里的内容一下子都读出来按照“;”切割字符串放到数组里,还是怎样处理;哪位要是有类似的例子,可以给贴出来看看吗?

解决方案 »

  1.   

    按行读取,
    FileReader fr;
    BufferedReader br;
    File sourceFile = new File(sourcePath + "\\" + filename);
    fr = new FileReader(sourceFile);
    br = new BufferedReader(fr);
    try {
        createErrLogfile(sourcePath, filename);
        String strReadLine = "";
        int flag = 0;
                    
        while ((strReadLine = br.readLine()) != null) {
            ......
        }
    } catch (Exception e) {
        throw new Exception(e);
    }finally{
        br.close();
        fr.close();
    }
      

  2.   

    读取就这样。。至于你说的存数组就没必要了。。你可以写个BEAN 来存吧。
      

  3.   


    前辈说的很有道理,我这个最终要放到Unix上运行的一个定时扫描任务,隔一段时间就会扫描一次,如果重复读的话,肯定会造成数据的重复
      

  4.   

    我觉得没有啥必要啊。。JAVA 读TXT很快的,读100行就去存数据,如果200行的那批数据有问题 ROLLBACK的话,你重新读取不是要重头开始了么。。一批TXT就开1个事务,个人觉得
      

  5.   

    你那个意思很简单 用BufferedReader 按行来读取  用StringTokenizer 以逗号来分割开就可以获得你单个要的数据进行存入数据库