我正在使用 Groovy 编写脚本,它将连接到 FTP 并将最新文件下载到本地计算机以对数据执行其他工作。
我正在尝试使用 FTPClient 和 FTPFile 来执行此操作,但不太确定如何选择最新文件?
到目前为止,我已经设法让它连接到 FTP 并返回文件列表。
//Retrieve latest file from FTP
FTPClient ftpClient = new FTPClient()
ftpClient.connect('xxxx.xxxxxxx.xxx')
ftpClient.login("xxxxxxxx", "xxxxxx")
FTPFile[] files = ftpClient.listFiles()
for (FTPFile file : files) {
println(file.getName())
}
ftpClient.logout()
ftpClient.disconnect()
最佳答案
据我所知,您正在使用 Apache Commons Net。您可以按时间戳对文件进行排序,然后只选择集合中的最后一个元素。
FTPFile latest = ftpClient.listFiles().sort { it.getTimestamp().getTime() }.first() //handle NoSuchElementException
或者:
FTPFile latest = ftpClient.listFiles().max { it.getTimestamp().getTime() }
更时髦:
def latest = ftpClient.listFiles().max { it.timestamp.time }
关于java - 使用 Groovy 来 FTP 最新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23992047/