Mat*_*att 2 java ftp scripting groovy
我正在使用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()
Run Code Online (Sandbox Code Playgroud)
据我所知,你正在使用Apache Commons Net.您可以按时间戳对文件进行排序,只需选择集合的最后一个元素即可.
FTPFile latest = ftpClient.listFiles().sort { it.getTimestamp().getTime() }.first() //handle NoSuchElementException
Run Code Online (Sandbox Code Playgroud)
要么:
FTPFile latest = ftpClient.listFiles().max { it.getTimestamp().getTime() }
Run Code Online (Sandbox Code Playgroud)
更加时髦:
def latest = ftpClient.listFiles().max { it.timestamp.time }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5447 次 |
| 最近记录: |