权3914 发表于 2016-6-8 03:57:53

FTP客户端 com.enterprisedt.net.ftp.FTPClient

以下关于 com.enterprisedt.net.ftp.FTPClient 的使用方法。

1、引入包

import com.enterprisedt.net.ftp.FTPClient;
import com.enterprisedt.net.ftp.FTPFile;
import com.enterprisedt.net.ftp.FTPMessageCollector;
import com.enterprisedt.net.ftp.FTPTransferType;
import com.enterprisedt.net.ftp.FTPConnectMode;
import com.enterprisedt.util.debug.Level; (来源:www.iocblog.net )
import com.enterprisedt.util.debug.Logger;
import java.util.List;
2、我们建一个叫做FtpEptUtil的class

/** 判断文件夹是否存在,这种方式不是很准 */
public static boolean isDirExist(String dirname,String[] files)
{
for (int i=0;i<files.length;i++)
{
   if (files.indexOf("<DIR>")>-1&&files.indexOf(dirname)>-1)
   {
      return true;
   }
}
return false;
}
String host = "10.163.7.15";
String user = "cxl";
String password = "1";
/** 定义FTPClient便利 */      
FTPClient ftp = null;
try   
{
      /** 创建FTPClient */   
      ftp = new FTPClient();
      /** 连接服务器 */
      ftp.setRemoteHost(host);
      ftp.connect();
      /** 登陆 */
      ftp.login(user, password);

      /** 以波动模式连接 */   
      ftp.setConnectMode(FTPConnectMode.PASV);
      
      /** ASCII方式:只能传输一些如txt文本文件,
       * zip、jpg等文件需要使用BINARY方式   
       * */
      //ftp.setType(FTPTransferType.ASCII);
      ftp.setType(FTPTransferType.BINARY);
      /** 切换到主目录,并枚举主目录的所有文件及文件夹
      * 包括日期、文件大小等详细信息   
      * files = ftp.dir("."),则只有文件名
      */                           
      String[] files = ftp.dir(".", true);
      for (int i = 0; i < files.length; i++)
          System.out.println(files);
      
      /** 下载info文件夹下的所有文件到 d:\temp 目录下 */
      String outdir = "d:\\temp\\";
      File attachments = new File(outdir);
      /** 如果文件夹不存在,则创建 */
      if (!attachments.exists())
      {
         attachments.mkdir();
      }
      /** 获取文件夹下的所有文件 */
      files = ftp.dir("info");
      ftp.chdir("info");         
      for (int i=0;i<files.length;i++)
      {   
      /** 下载文件 */
      ftp.get(outdir+files,files);   
      /** 下载后删除文件 */            
      ftp.delete(files);
      }
      /** 上传文件到服务器当前目录 */
      ftp.put("20061108.xml", "20061108.xml");

      /** 删除文件 */
      ftp.delete("20061108.xml");

      /** 不存在则创建文件夹 */
      if (!isDirExist("20061108",files))
      {
         ftp.mkdir("20061108");
      }
      
      /** 断开连接*/
      ftp.quit();
      
} catch (Exception e)   
{
logger.error("Demo failed", e);
}
页: [1]
查看完整版本: FTP客户端 com.enterprisedt.net.ftp.FTPClient