如何使用java删除SFTP服务器上2天前上传的所有文件


String sftpUri = "sftp://" + hostname+ ":" + password + "@"
                        + serverHost + filepath;
org.apache.commons.vfs2.FileObject remoteFile = manager.resolveFile(sftpUri+ FileName, opts);
remoteFile.delete();

这里我使用文件名删除文件,但这是不够的,因为在某些情况下我没有文件名。有人能帮我解决这个问题吗?

使用FileObject#findFiles()的组合来遍历一组文件并递归,使用SftpFileObject#doGetLastModifiedTime()来比较上次修改时间戳与当前系统时间。

参考:

https://commons.apache.org/proper/commons-vfs/apidocs/org/apache/commons/vfs2/FileObject.html findFiles (org.apache.commons.vfs2.FileSelector)

https://commons.apache.org/proper/commons-vfs/apidocs/org/apache/commons/vfs2/provider/sftp/SftpFileObject.html doGetLastModifiedTime ()

最新更新