我有一个 Android 应用程序,它列出了 FTP directory 的文件夹和文件.我用 Apache Commons FTP Client .归结为我为每个文件夹调用的这一行
FTPFile[] folderElements = ftpClient.listFiles(folderName);
工作正常但非常耗时。整个任务(获取所有文件和文件夹)大约需要一分钟。我能以某种方式加快速度吗?
我已经试过了
ftpClient.setBufferSize(1024000);
最佳答案
我的项目可能会有所帮助。 https://github.com/Honwhy/commons-pool-ftp (参见 ftpcp 分支)
FTPCPManager ftpCPManager = new FTPCPManager();
ftpCPManager.setUrl("ftp://127.0.0.1");
ftpCPManager.setUsername("sa");
ftpCPManager.setPassword("sa");
ftpCPManager.setKeepAliveTimeout(1 * 60);
ftpCPManager.setConnectTimeout(1 * 1000);
ftpCPManager.setMaxWait(1 * 1000);
CommonFAOSupport support = new CommonFAOSupport(ftpCPManager);
support.downloadDirectory("/apps/data/ftp/download", 4000, 10, processService); //10 thread
关于java - 加速递归列出 FTP 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47576947/