2 回答

TA贡献1788条经验 获得超4个赞
使用*
是不行的。在您获得声明目录中的文件列表后,您必须迭代它并使用deleteFile(String pathname)
(同时检查文件名endsWith(".txt")
)一个一个地删除文件。
各有FTPFile
办法getName()
。您应该构建完整路径,以便FTPClient
知道要删除的文件。我相信它会是这样的:
ftpClient.deleteFile("/prenotazioni/" + remoteFiles[i].getName());

TA贡献1155条经验 获得超0个赞
完整方法:
public static void deleteFilesInFolderFtp(String dirPath, FTPClient ftpClient) {
try {
// use local passive mode to pass firewall
ftpClient.enterLocalPassiveMode();
FTPFile[] remoteFiles = ftpClient.listFiles("/" + dirPath);
if (remoteFiles.length > 0) {
for (int i = 0; i < remoteFiles.length; i++) {
ftpClient.deleteFile("/" + dirPath + "/" + remoteFiles[i].getName());
}
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
添加回答
举报