sleep()了吗?源代码传上来看看

解决方案 »

  1.   

    class searcher extends Thread{
      public void run()
      {
       listFile(FrameMain.fc);
       FrameMain.jTextArea1.append("搜索完成,请查阅!*^*");
       try{
         FrameMain.fw.flush();
         FrameMain.fw.close();
       }catch(Exception ee){FrameMain.jTextArea1.append("\n"+ee.toString()+"\n");}
      }
      void listFile(FtpClient fc)
     {
       int c=0,num=0,cnt=0;
       String name="",firststr="",swap="";
       String list="",rnr="";
       StringTokenizer stkn;
       try{
         TelnetInputStream tnis = fc.list();
         while((c=tnis.read())!=-1)
         {
           list+=String.valueOf((char) c);
           stkn=new StringTokenizer(list,"\n");
           if(stkn.countTokens()>FrameMain.maxnum) {num=-1;break;}
         }
         this.sleep(200);
         //FrameMain.jTextArea1.validate();
         //FrameMain.jTextArea1.updateUI();
         //以上读取本目录下面的文件列表,以下处理列表内容!
         StringTokenizer stnz=new StringTokenizer(list,"\n");
         num+=stnz.countTokens();
         FrameMain.jTextArea1.append("列表数量是:"+stnz.countTokens()+"\n");
         for(int i=0;i<num;i++)
         {
           name="";
           rnr=stnz.nextToken();
           FrameMain.jTextArea1.append(fontformat.gbToiso(rnr)+"\n");
           StringTokenizer stnzs=new StringTokenizer(rnr," ");
           cnt=stnzs.countTokens();
           firststr=stnzs.nextToken();
           for(int ii=0;ii<8;ii++)   {swap=stnzs.nextToken();}
           name=rnr.substring(rnr.indexOf(swap));
           name=name.trim();
           name=fontformat.gbToiso(name);
           //System.out.println(name);
           //System.out.println(name.compareTo("."));
           if(firststr.charAt(0)=='d'&&name.compareTo(".")!=0&&name.compareTo("..")!=0)
           {
             FrameMain.jTextArea1.append("正在处理文件夹:"+name+"\n");
             fc.cd(name);
             FrameMain.url+="\\"+name;
             System.out.println("正在处理目录:"+FrameMain.url);
             listFile(fc);
             fc.cd("..");
             FrameMain.url=FrameMain.url.substring(0,FrameMain.url.lastIndexOf("\\"));
             FrameMain.jTextArea1.append("文件夹:"+name+"处理完成!\n");
             FrameMain.fw.write(FrameMain.url+"->"+name+"\n");
           }
           else{
             if (name.compareTo(".") != 0 && name.compareTo("..") != 0)
               FrameMain.fw.write(FrameMain.url + "->" + name + "\n");
           }
         }
       }catch(Exception eb){FrameMain.jTextArea1.append(eb.toString()+"\n");}
     }
    }
    主界面程序FrameMain就是调用的这个程序,结果在运行的时候,FrameMain就会停止响应,大家帮我看看阿!