前面讲了在groovy中使用http的一些技巧。本文主要说一下如何在groovy中使用ftp。

1)首先引入groovy ftp包

 import org.apache.commons.net.ftp.FTPClient


2)接下来就可以实例化ftpclient并连接FTP了

new FTPClient().with { //实例化FTPClient
  try{
    connect '192.168.1.100' //连接ftp
    enterLocalPassiveMode() //启用被动模式
    setFileType(BINARY_FILE_TYPE) //设置FTP文件类型为BIN
    login 'ftpuser_1','123456' //登录FTP
    if(!changeWorkingDirectory("/dat/$date")) { 
      //尝试改变服务器当前目录,这段代码的目的是测试路径是不是存在,$date为当天日期yyyyMMdd
      log 'no files found'
      return
    }
    def files = listFiles() //列出目录下的所有文件
    if(files.length==0) {
      return;
    }
     
    for(def file: files) {
      def incomingFile = new File("$path/$date/${file.name}") //本地文件
      incomingFile.withOutputStream {ostream -> retrieveFile file.name, ostream } //开始下载
    }
  } finally {
    logout() //FTP 登出
    disconnect() //断链
  }
}