1. 程式人生 > >關於使用java語言操作FTP的一些問題

關於使用java語言操作FTP的一些問題

1.java操作ftp使用到了FTPClient類,因此請首先匯入commons-net-xxx.jar包(gradle配置:compile group: 'commons-net', name: 'commons-net',version: '3.5')

2.在使用java進行檔案上傳時如果 ftpClient.storeFile(f.getName(), instream); 返回一直是false,有幾個點需要注意:

1>ftp是否可用 FTPClient裡面有isAvailable()方法可以驗證

2>ftp是否已經正常連線 FTPClient裡面有 isConnected()方法可以驗證

3>編碼設定是否正確,如果檔案是中文名,也會影響檔案上傳,具體做法是在ftp連線之前設定編碼方式ftpClient.setControlEncoding("GBK"); (千萬別在連線之後,上傳時或下載時再進行設定,無效)

4>請注意現在是客戶端去向服務端傳送要上傳的請求,所以應該將ftp連線改成被動式的,ftpClient.enterLocalPassiveMode();


以上注意事項都做好了之後,再次嘗試使用 ftpClient.storeFile(f.getName(), instream); 進行檔案的上傳,成功