Java 使用Groovy来FTP最新文件
我正在使用Groovy编写一个脚本,它将连接到FTP并将最新的文件下载到本地计算机上,以对数据执行额外的工作 我正试图使用FTPClient&FTPFile来实现这一点,但不太确定如何选择最新的文件 我已经设法让它连接到FTP并返回到目前为止的文件列表Java 使用Groovy来FTP最新文件,java,groovy,scripting,ftp,Java,Groovy,Scripting,Ftp,我正在使用Groovy编写一个脚本,它将连接到FTP并将最新的文件下载到本地计算机上,以对数据执行额外的工作 我正试图使用FTPClient&FTPFile来实现这一点,但不太确定如何选择最新的文件 我已经设法让它连接到FTP并返回到目前为止的文件列表 //Retrieve latest file from FTP FTPClient ftpClient = new FTPClient() ftpClient.connect('xxxx.xxxxxxx.xxx') ftpClient.login
//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()
据我所知,您正在使用ApacheCommonsNet。您可以按时间戳对文件进行排序,只需选择集合的最后一个元素
FTPFile latest = ftpClient.listFiles().sort { it.getTimestamp().getTime() }.first() //handle NoSuchElementException
或:
更常规:
def latest = ftpClient.listFiles().max { it.timestamp.time }
这正是我需要的!谢谢你@Opal!
def latest = ftpClient.listFiles().max { it.timestamp.time }