关于 com.enterprisedt.net.ftp.FTPClient 的使用方法(转)

  • Post author:
  • Post category:其他


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;

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[i].indexOf(“<DIR>”)>-1&&files[i].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[i]);

/** 下载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[i],files[i]);????

/** 下载后删除文件 */???????????

ftp.delete(files[i]);

}

/** 上传文件到服务器当前目录 */

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);

}

注:添加edtftpj-1.5.3.jar包


http://www.findjar.com/jar/com.enterprisedt/jars/edtFTPj-1.5.3.jar.html