如果服务器速度很慢或者java中有更多的客户端,如何从ftp服务器获取文件列表

我必须得到ftp服务器中存在的文件或文件夹列表。我已经尝试了以下代码,但我没有得到列表。如果我运行相同的代码我得到文件列表如果我将我的本地系统作为服务器但是当我应用相同的代码然后我成功登录并且
FTPClient
类的列表方法正在工作但是
listFiles()
listNames()
不工作。
import java.io.IOException;
import java.net.SocketException;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.io.FileUtils;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
/**
 *
 * @author admin
 */
public class ListFileOfServerCheck {

    public static void main(String args[]) throws SocketException, IOException{

    FTPClient client = new FTPClient();
    ArrayList dirList=new ArrayList();

   client.connect("myserver");
   client.login("vishal", "vishal");
    if(client.isConnected())
        System.out.println("connected");
    int i=0;
    System.out.println("number of files on server="+client.list());
    String[] names = null;
    int itration=1;
    while(names==null){
       System.out.println(itration +"th itration");
       names = client.listNames();
       itration++;
    }
    client.logout();
    client.disconnect();

    }

}
    
已邀请:
当您登录FTP时,您的当前目录是什么问题。尝试使用:
client.listNames("/path/to/the/folder");
而不是依赖于当前的工作目录。 检查返回的内容也是一种好习惯
client.login(...)
    

要回复问题请先登录注册