aa = new Vector();
String  str="";
       FileReader fr=new FileReader(fgFile);
       BufferedReader br=new BufferedReader(fr);  do{
       str =br.readLine();
       if(str != null && str.length() > 0)
       {
            aa.add(str) ;
       }
  }while(str != null);
      br.close();
      fr.close();              int m=aa.size() ;
              fw = new FileWriter(saveDir+"ft.txt");
              bw = new BufferedWriter(fw);
         do{
            double rmd=Math.random();
            int num=(int)(m*rmd);
            System.out.println("num="+num);
     String temp = (String)aa.get(num);
            if(temp != null && temp.length() > 0)
            {
              bw.write(temp) ;
              bw.newLine() ;
             }
    aa.remove(temp);
    m--;      }while(m !=0);
       bw.flush();
       fw.close();
当数据量比较大时就出现java.lang.outofMomoryError 是什么原因,请多多指教