java - 加速递归列出 FTP 文件

标签 java android ftp apache-commons-net

我有一个 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/

相关文章:

java - 什么合适的正则表达式可以排除某个单词

java - 使用泛型方法替代重载?

android - HTTP 请求中用户代理的相关性

file-upload - 如何在SSIS中通过FTP任务上传多个文件

java - GenericObjectPool 中的过期 session

java - 在从 Java SOAP 接收的 Windows 调用 (C++) 中使用 Unicode 文本

android - 从 Parse.com 拉取图像

android - onStop() 触发时我必须保留 Activity 数据吗?

java - 使用 Groovy 来 FTP 最新文件

wordpress - 为什么我在 Web 应用程序 azure FTP 上看不到我的文件?