FTPClient.listFiles()不能獲取文件



今天使用ftp獲取另一台服務器上的文件,發現不管切換到哪個目錄,獲取什么文件,調用FTPClient.listFiles()方法時返回的始終為空,但是代碼又運行正常沒有異常拋出。

解決的方很簡單,

在調用FTPClient.listFiles()方法前,先調用FTPClient.enterLocalPassiveMode();就可以了。

這個方法的意思就是每次數據連接之前,ftp client告訴ftp server開通一個端口來傳輸數據。

為什么要這樣做呢,因為ftp server可能每次開啟不同的端口來傳輸數據,但是在linux上,由於安全限制,可能某些端口沒有開啟,所以就出現阻塞。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM