1.作业:找出指定目录下所有.xml文件的相关信息

package com.cavaness.quartzbook.chapter3;

import java.io.File;
import java.io.FileFilter;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobDetail;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

/**
 * 作业:找出指定目录下所有.xml文件的相关信息
 * @author Kevin
 *
 */
public class ScanDirectoryJob implements Job {
	private static Log log = LogFactory.getLog(ScanDirectoryJob.class);
	
	@Override
	public void execute(JobExecutionContext context)
			throws JobExecutionException {
		// 记录作业的名字和启动的时间
		JobDetail jobDetail = context.getJobDetail();
		String jobName = jobDetail.getName();
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
		log.info(jobName + ",启动时间:" + simpleDateFormat.format(new Date()));
		
		// 作业的相关配置放在JobDataMap对象里,获取目录信息
		JobDataMap jobDataMap = jobDetail.getJobDataMap();
		String directoryName = jobDataMap.getString("SCAN_DIRECTORY");
		
		// 验证作业是否有目录信息的配置
		if (directoryName == null) {
			throw new JobExecutionException("目录信息没有配置!");
		}
		
		File directory = new File(directoryName);
		
		// 验证目录信息配置正确与否
		if (!directory.exists()) {
			throw new JobExecutionException(directoryName + "目录不存在");
		}
		
		// 提取目录下所有的.xml文件
		FileFilter xmlFileFilter = new FileExtensionFileFilter(".xml");
		File[] xmlFiles = directory.listFiles(xmlFileFilter);
		
		// 验证目录下是否有.xml文件
		if (xmlFiles == null || xmlFiles.length <= 0) {
			log.info("目录" + directoryName + "没有.xml文件");
			return;
		}
		
		// 输出指定目录下所有.xml文件的相关信息
		for (File xmlFile : xmlFiles) {
			log.info(xmlFile + "的信息如下: 1.文件绝对路径:" + xmlFile.getAbsoluteFile() + ";2.文件的大小:" + xmlFile.length());
		}
		
	}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值