java - 使用 Groovy 来 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("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/

相关文章:

java - OrientDB集合扩展和分组

java - 数据未通过 jtable 保存在数据库中(已编辑)

c# - 如何将嵌套类组织为 Unity 中的引用?

windows - 如何从批处理文件中获取刚启动的进程的 PID?

mysql - 以编程方式将 ON DELETE CASCADE 添加到所有表上的现有外键约束

java - 滚动日志文件并删除旧日志文件

java - 通过单击 JButton 重新制作 JTable

rest - 从 groovy 脚本中提取 token 的值

grails - 从 quartz 作业内的config.groovy(conf目录中的)访问变量

groovy - 如何将 String 转换为 GString 并替换 Groovy 中的占位符?