补充:
本来你ftp指向目录A,后来进入递归被改成指向A/B了,你说遍历还能准确吗?
还有个方法就是每次递归回来调用:
ftpchangeWorkingDirectory(ftpPath);
把Path给设置回来。不过不确定这个方法稳定,可以先Try一下。
public void listFilesDir(String path) throws IOException{
String ftpPath = path;
ftpchangeWorkingDirectory(ftpPath);
FTPFile[] files = ftplistFiles();
for(FTPFile ff:files){
if(!ffisDirectory()){
Systemoutprintln("文件:" + ffgetName());
}
else{
if(!ffgetName()startsWith("")){
ftpPath = ffgetName() + "/";
Systemoutprintln("目录 " + ffgetName() + " 下的文件文件或目录:");
ftpchangeWorkingDirectory(ftpPath);
listFilesDir(ftpPath);
ftpchangeWorkingDirectory(path);
}
}
}
}
再补充:
中文的话试试看用GBK。。。Java项目的编码记得也要一样的。主要是由于IWAM账号(在我的计算机即是IWAM_MYSERVER账号)的密码错误造成了>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)