和上一份简单 上传下载一样
来,任何的方法不懂的,http://commons.apache.org/proper/commons-net/apidocs/org/apache/commons/net/ftp/FTPClient.html
API拿走不谢!!!
1.FTP配置实体

View Code
2.FTP工具类,仅有一个删除文件夹【目录】的操作方法,删除文件夹包括文件夹下所有的文件

删除方法中,调用listFiles()方法之前,需要调用ftpClient.enterLocalPassiveMode();
关于调用listFiles()方法,有以下几种情况需要注意:
①listFiles()方法可能返回为null,这个问题我也遇到了,这种原因是因为FTP服务器的语言环境,编码方式,时间戳等各种的没有处理好或者与程序端并不一致
②首先可以使用listNames()方法排除是否是路径的原因,路径编码方式等原因
③其次,调整好路径后,有如下提示的错误Caused by: java.lang.ClassNotFoundException: org.apache.oro.text.regex.MalformedPatternException,需要导入一个架包 【jakarta-oro-2.0.8.jar】
3.实际用到的FTP上传【创建多层中文目录】+下载【浏览器下载OR服务器下载】+删除 【处理FTP编码方式与本地编码不一致】

最后注意一点:
FTP服务器不一样,会引发很多的问题,因为FTP服务器的语言环境,编码方式,时间戳等各种的原因,导致程序中需要进行大量的类似的处理,要跟FTP进行匹配使用。
因为FTP架包是apache的,所以使用apache自己的FTP服务器,是匹配度最高的,传入文件路径等都不需要考虑转码等各种各样的问题!!!
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------附录------------------------------------------------------------------------------------
FTPFile[] ftpFiles = ftpClient.listFiles(new String((pathname).getBytes("UTF-8"),"iso-8859-1"));
方法的调用,报错如下:

解决方法:
jakarta-oro-2.0.8.jar