FTPClient.listFiles() 放到linux上,返回值为null或数组长度为0
生活随笔
收集整理的這篇文章主要介紹了
FTPClient.listFiles() 放到linux上,返回值为null或数组长度为0
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
在項目中使用commons-net-1.4.1.jar實現FTP文件的下載,在windows xp上運行正常,但是放到linux上,卻出現問題,程序運行到 FTPClient.listFiles()或者FTPClient.retrieveFile()方法時,就停止在那里,什么反應都沒有,出現 假死狀態。
google一把,發現很多人也出現了此類問題,最終在一個帖子里找到了解決辦法。在調用這兩個方法之前,調用 FTPClient.enterLocalPassiveMode();這個方法的意思就是每次數據連接之前,ftp client告訴ftp server開通一個端口來傳輸數據。為什么要這樣做呢,因為ftp server可能每次開啟不同的端口來傳輸數據,但是在linux上,由于安全限制,可能某些端口沒有開啟,所以就出現阻塞。OK,問題解決。
另外,如果程序部署在weblogic上, 也有可能出現一些問題,為什么,因為weblogic自己也有commons-net包,如果weblogic的jar包版本低于你使用的版本,就設置weblogic 的classpath,優先加載工程里的jar包。
轉載于:https://my.oschina.net/u/570621/blog/66670
總結
以上是生活随笔為你收集整理的FTPClient.listFiles() 放到linux上,返回值为null或数组长度为0的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sdiv和srem
- 下一篇: 从程序架构提升安全性