有一个问题,棘手的,也很急 sleep()了吗?源代码传上来看看 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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就会停止响应,大家帮我看看阿! java自定义包的方法? 关于JAVA UDP无法过墙的问题(急!!!) mysql的问题 谁有JAVA编程思想第三版习题的答案? 山穷水尽,走投无路,(100分)求javaMail例子一个 不得不考虑的问题application 怎样在网页上下载或单击按钮运行 请问用什么函数能得到计算机的所有盘符??????? 如何将String类型转换为Clob以进行写操作呢? 什么是inner class?类不过不加修饰符,它的访问权限是protected or default? 小弟太穷,请别介意只有10分。请问:时间算法 急:Socket小问题,搞不懂,请帮忙,UP有分 null的问题
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就会停止响应,大家帮我看看阿!