67,516
社区成员
发帖
与我相关
我的任务
分享
/**
* 删除文件或文件夹
*
* @param path
* 待删除文件的绝对路径
* @return boolean
*/
public boolean deleteFile(String path) throws ServiceException {
if (ftpClient != null) {
try {
//如果是文件直接删除
ftpClient.deleteFile(path);
if (ftpClient.changeWorkingDirectory(path)) {
//是文件夹
FTPFile[] ftpFiles = ftpClient.listFiles();
if (ftpFiles == null || ftpFiles.length <= 0) {
//文件夹文空直接删除
ftpClient.removeDirectory(path);
return true;
}
for (FTPFile ftpFile : ftpFiles) {
//文件夹不为空,先删文件再删文件夹
ftpClient.deleteFile(path+"/"+ftpFile.getName());
ftpClient.removeDirectory(path);
}
}
} catch (IOException e) {
throw new ServiceException(e.getMessage(), e);
}
}
return true;
}
ftp.connect(ip, port);
//下面三行代码必须要,而且不能改变编码格式,否则不能正确下载中文文件
ftp.setControlEncoding("GBK");
FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_NT);
conf.setServerLanguageCode("zh");