1. 程式人生 > >FtpClient.storeFile返回false解決方法

FtpClient.storeFile返回false解決方法


今天在利用FTP將客戶端檔案儲存到伺服器端時,在呼叫ftpClient.storeFile方法後,總是返回false,在百度之後,有提到說新增一行

 ftpClient.enterLocalPassiveMode();

就能解決這個問題,但是在測試之後還是出現,後來整了半天才知道,問題出在中文檔名身上。因此可在程式碼中新增如下程式碼:

ftpClient.setControlEncoding("UTF-8");

並在建立目錄或者storeFile時,將檔名轉換編碼方式即可,如:

ftpClient.storeFile(new String(fileName.getBytes("UTF-8"),"iso-8859-1"),fiStream);

或者:

ftpClient.makeDirectory(new String(pathName.getBytes("UTF-8"),"iso-8859-1"));
即可解決這個問題