浏览 9150 次
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-04-18
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[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); } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-04-18
vivid_gxp 写道 以下关于 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[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); } 中.国.心 |
|
返回顶楼 | |