有一个问题,棘手的,也很急 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怎么自己建函数库? 高手讲解下算法导论中... 线程的题目,大家帮我看看啊 jni中C++本地代码如何取得java中的变量值(非参数传递) 能不能帮我修改一个java 切图的程序 Java中利用二维数组存储输入字符串问题 求一个2级联动菜单的脚本 关于序列化和NotSerializableException 问一个很菜的问题!! 要命的Tomcat!!!!!救我! 急: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就会停止响应,大家帮我看看阿!