2013-04-03 31 views
4

我想列出FTP服務器中特定目錄下的所有文件。FTPClient.listFiles不能正常工作

FTPFile[] subFiles = ftpClient.listFiles("directory"); 

雖然該目錄是有效的,但代碼在調用listFiles時卡住,可能是什麼原因。 ?另外我想提一下,訪問同一個FTP服務器的單獨的netbeans項目可以使用相同的代碼正常工作,但是maven項目存在這個問題。 請幫忙。

+0

Eich的答案適合我。我深深地懷疑你做錯了Raja,正如你所說的1.4.1是當前的版本,但該版本是在2005年發佈的,3.2是你評論當天的最新版本。 – TedTrippin

回答

6

嘗試使用passive mode。我假定你正在使用最新的commons net庫(你沒有寫你正在使用的庫)。


接下來的方法,嘗試更改文件列表佈局。公共資源庫使用自動檢測,但在某些情況下,這不起作用。您可以更改(和測試)另一個文件列表佈局,如下所示:

FTPClientConfig configuration = new FTPClientConfig(FTPClientConfig.TEST_YOURSELF); 

FTPClient yourClient = FTPClient(...); 
client.configure(conf); 
+0

是的,我在登錄前使用被動模式。 apache commons net是1.4.1版本,這是最新版本。 – Raja

+0

你可以使用你的ftp軟件(如[filezilla](https://filezilla-project.org//))訪問(並列出文件)嗎?你也嘗試過'listFiles(「/ directory」)'? – Eich

+0

使用filezilla我可以看到這些文件,並且在ftpClient.listFiles(「目錄」)中,我已經嘗試了所有可能的情況,採取了根路徑(「/」),並嘗試了根ftp目錄內的文件夾(「/ AnyFolder」)。 – Raja