FTP下载类:
package com.log.generateXML.util;>
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.impl.LogFactoryImpl;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
import com.log.generateXML.dao.LogTableDao;
import com.log.generateXML.dao.impl.LogTableDaoImpl;
import com.novomss.idc.entity.FtpDownloadLog;
/***
* 功能描述:FTP下载文件类
* 定时任务配置applicationContext-idc-uploadTimer.xml
*
*/
public class DownLoadXML {
private LogTableDao lts;
// 日志记录对象
private final Log log = LogFactoryImpl.getLog(DownLoadXML.class);
// Xmls下载日志记录
private FtpDownloadLog ftpdown ;
// FTP主机
private String ftpHost = null;
// FTP连接端口
private String port = null;
private int ftpPort ;
// FTP连接用户
private String ftpuser = null;
// FTP用户密码
private String ftppasswd = null;
// FTP下载描述
private String descript ;
// FTP上传成功与否状态
private int status;
// 假定错误值
/***
* 1 FTP登陆状态失败
* 2 FTP目录设置错误
* 3 FTP工作路径切换失败
* 4 要下载的文件不存在
*/
private int flag;
/****
* FTP下载
* @param filename
* @return
* @throws Exception
*/
public boolean ftpDownload(String filename) throws Exception {
// 如果参数为空,直接返回提示
if(filename==null || filename ==""){
log.info( "filename is null.");
return false;
}
// 保存文件路径
String downsavefilePath = FtpConfig.getValue("localDir"); // 本地存储目录
if(downsavefilePath == null || downsavefilePath.length() == 0){
log.info("本地存储目录属性未设置!");
return false;
}
File downfilePath = new File(downsavefilePath);
if(!downfilePath.exists()&&!downfilePath.isDirectory()){
log.info("本地下载文件保存路径不存在!");
return false;
}
// 下载文件名
File file = new File(filename);
// 实例化FTP客户端对象
FTPClient ftp = new FTPClient();
// 服务器连接状态
int reply = 0;
try {
// 如