一个500M文本读取,并找出所有数组“abcd”,输出该数组所在行
谁能给个具体点的写法啊  
急哦!!

解决方案 »

  1.   

    BufferedReader reader=new BufferedReader(new FileReader(文件名));String curLine;
    while((curLine=reader.readLine())!=null){
      if (curLine.indexOf("abcd")>=0){
         System.out.println(curLine);
      }
    }
      

  2.   

    问题补充:  一个500M文本读取,并找出所有数组“abcd”,输出该数组所在 行以及开始 列 
      

  3.   

    BufferedReader reader=new BufferedReader(new FileReader(文件名));String curLine;
    int lineIndex=1;
    while((curLine=reader.readLine())!=null){
      int colIndex=curLine.indexOf("abcd");
      if (colIndex>=0){
        System.out.println(lineIndex+","+colIndex+":"+curLine);
      }
      lineIndex++;
    }注意,列从0开始。
      

  4.   

    由于你的只是需要检查的是英文,所以可以采用一行一行读取的方式
    这就必须使用BufferedReader来封装 并且读取的时候还可以用个1M左右的char[] 缓冲
    所以就解决了IO操作次数多的问题,另外对500M文件读取的速度提高非常多。一行一行的读出后用正则表达式匹配,并找到位置,希望能够帮到你,给分!