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"));
即可解决这个问题


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM