定时任务,定时下载FTP指定文件

本文介绍如何利用FTP下载类结合定时任务配置,实现定期从FTP服务器自动下载指定文件的功能,确保数据的及时更新和备份。
摘要由CSDN通过智能技术生成

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 {
			
			// 如
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值