2017-11-30 50 views
7

FTP directory klasörlerini ve dosyalarını listeleyen bir Android uygulamasına sahibim. Apache Commons FTP Client kullanıyorum. Bu, her klasör için çağıracağım bu satıra gelir. Çok iyi zaman harcayan bir işlemdir. Tüm görev (tüm dosya ve klasörleri almak) bir dakika kadar sürer. Bunu bir şekilde hızlandırabilir miyim? Yinelenen FTP dosyalarını listeleme hızlandırma

Zaten

ftpClient.setBufferSize(1024000); 
+0

hızlandırmak için tek yol (ftpcp dalı bakınız) çok sayıda paralel bağlantı kullanmaktadır. –

+0

Bir arama bir dakika sürer mi? – greenapps

+0

Hayır: * Tüm görev (tüm dosya ve klasörleri almak) yaklaşık bir dakika sürer * –

cevap

2

benim projem bir yardım olabilir çalıştı. https://github.com/Honwhy/commons-pool-ftp,

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