FTP删除文件或目录
ftp删除文件: ftpClient.deleteFile(path);
ftp删除目录:ftpClient.deleteDirector(path);
在实际开发过程中,删除目录没有成功,经过查资料发现ftp删除目录的只能删除空目录,里面存在文件则删除不了。所以做了一个递归调用删除文件或目录,代码如下:
public static void deleteFoldersOrFile(FTPClient client,String path){
//为空则直接结束
if(StringUtil.isEmpty(path)){
return;
}
try {
//按照文件进行删除
client.deleteFile(path);
System.out.println("FTP文件"+path+"存在,删除完成");
} catch (FTPException e){
if(FTPCodes.FILE_NOT_FOUND == e.getCode()){
System.out.println("FTP文件"+path+"不存在,按照目录进行删除");
FTPFile[] fileList = client.list(path);//获取目录下的文件,遍历进行删除
for(FTPFile file:fileList){
deleteFoldersOrFile(client,path+"/"+file.getName());
}
client.deleteDirectory(path);//删除目录
System.out.println("FTP目录"+path+"存在,删除完成");
}
}