JAVA代码实现FTP文件下载
来源:互联网 发布:跟淘宝一样的购物软件 编辑:程序博客网 时间:2024/05/18 03:57
一、下载commons-net-1.4.1.jar包,放到lib下,并加载到.classpath文件中
二、编写工具类FtpUtil.java如下
package common;import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.net.SocketException; import java.util.Properties;import org.apache.log4j.Logger;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.apache.commons.net.ftp.*;public class FtpUtil {private final static Log logger = LogFactory.getLog(FtpUtil.class);/** * 获取FTPClient对象 * * @param ftpHost * FTP主机服务器 * @param ftpPassword * FTP 登录密码 * @param ftpUserName * FTP登录用户名 * @param ftpPort * FTP端口 默认为21 * @return */public static FTPClient getFTPClient(String ftpHost, String ftpUserName,String ftpPassword, int ftpPort) {FTPClient ftpClient = new FTPClient();try {ftpClient = new FTPClient();ftpClient.connect(ftpHost, ftpPort);// 连接FTP服务器ftpClient.login(ftpUserName, ftpPassword);// 登陆FTP服务器if (!FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) {logger.info("未连接到FTP,用户名或密码错误。");ftpClient.disconnect();} else {logger.info("FTP连接成功。");}} catch (SocketException e) {e.printStackTrace();logger.info("FTP的IP地址可能错误,请正确配置。");} catch (IOException e) {e.printStackTrace();logger.info("FTP的端口错误,请正确配置。");}return ftpClient;}/* * 从FTP服务器下载文件 * * @param ftpHost FTP IP地址 * * @param ftpUserName FTP 用户名 * * @param ftpPassword FTP用户名密码 * * @param ftpPort FTP端口 * * @param ftpPath FTP服务器中文件所在路径 格式: ftptest/aa * * @param localPath 下载到本地的位置 格式:H:/download * * @param fileName 文件名称 */public static void downloadFtpFile(String ftpHost, String ftpUserName,String ftpPassword, int ftpPort, String ftpPath, String localPath,String fileName) {FTPClient ftpClient = null;try {ftpClient = getFTPClient(ftpHost, ftpUserName, ftpPassword, ftpPort);ftpClient.setControlEncoding("UTF-8"); // 中文支持ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);ftpClient.enterLocalPassiveMode();ftpClient.changeWorkingDirectory(ftpPath);File localFile = new File(localPath + File.separatorChar + fileName);OutputStream os = new FileOutputStream(localFile);ftpClient.retrieveFile(fileName, os);os.close();ftpClient.logout();} catch (FileNotFoundException e) {logger.error("没有找到" + ftpPath + "文件");e.printStackTrace();} catch (SocketException e) {logger.error("连接FTP失败.");e.printStackTrace();} catch (IOException e) {e.printStackTrace();logger.error("文件读取错误。");e.printStackTrace();}}}
假设已经存在一个FTP服务器,登录的用户名和密码为zyf,端口为22,登后的家目录下进入ftpdir目录,下面有一个11.txt文件用于下载测试
package scripts.testscript;import org.testng.annotations.Test;import common.FtpUtil;public class FtpDownloadTestScript {@Testpublic void run() {String ftpHost = "192.168.26.132";String ftpUserName = "zyf";String ftpPassword = "zyf";int ftpPort = 21;String ftpPath = "ftpdir/";String localPath = "H:/download";String fileName = "11.txt";FtpUtil.downloadFtpFile(ftpHost, ftpUserName, ftpPassword, ftpPort, ftpPath, localPath, fileName);}}
0 0
- JAVA代码实现FTP文件下载
- Java代码实现FTP文件下载
- JAVA代码实现FTP文件下载
- Java代码实现FTP服务器上传文件与下载文件
- java实现ftp下载文件
- java 代码之FTP服务器下载文件
- java通过FTP下载文件代码
- java通过apache ftp实现ftp上传文件,下载文件
- java实现ftp下载文件【转】
- JAVA Ftp实现文件上传于下载
- Java实现FTP文件上传与下载
- Java实现FTP文件上传与下载
- java实现ftp文件下载的源代码
- Java实现FTP文件上传与下载
- Java实现FTP文件上传与下载
- java实现通过FTP下载文件
- 用Java实现FTP批量大文件上传下载代码及示例下载
- JAVA FTP 下载文件
- Uva160——Factors and Factorials
- gym 100935B (字典树)
- Spring Bean的域scop
- HTML中img路径问题
- 虚幻4目录结构
- JAVA代码实现FTP文件下载
- GitHub 上排名前 100 的 Objective-C 项目简介
- 237. Delete Node in a Linked List
- 1008-I
- C++多线程(一)
- [BZOJ1593][Usaco2008 Feb]Hotel 旅馆(线段树)
- Unity3D与android交互----构建android插件(转)
- 机器学习基础(十六)—— bootstrap
- BZOJ 4001 TJOI 2015 概率论 卡特兰数 生成函数计数