`
Xgw123485
  • 浏览: 89266 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

FileListener -1

阅读更多
package com.huawei.esb;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.TimerTask;

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.kxml2.io.KXmlParser;
import org.kxml2.kdom.Document;
import org.kxml2.kdom.Element;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;

import com.huawei.common.XMLParserHelper;

/*
* Class: FileListener
* Description: 单个文件监听,如果文件已更新则自动重新加载
* Version: 1.0
* Author: Carson.Huang
* Created on Dec 1, 2010
*/
public class FileListener extends TimerTask
{
private File file = null;
private long lastModified = 0;
private Properties prop = new Properties();
private Element element = new Element();

private boolean fileFlag = true;

    private Logger logger = Logger.getLogger(FileListener.class);
    //所有的枚举文件
    private Map<String,EnumerateFile> enumerateFiles=new HashMap<String,EnumerateFile>();
    //枚举文件
    private List<String> enumPaths=new ArrayList<String>();
    //当前的枚举文件名
    private String currentEnumFilePath="";
   
FileListener(String filePath)
{
//设置所有的枚举文件的信息
filePath=setEnumInfo(filePath);
if (filePath != null)
{
this.file = new File(filePath);
if (!file.isFile())
{
logger.error("The file[" + filePath + "] doesn't exist, please check it.");
return;
}

if (this.file.getName().endsWith(".properties"))
{
fileFlag = true;
}
else if (this.file.getName().endsWith(".xml"))
{
fileFlag = false;
}
else
{
logger.info("nothing to do...");
}

}
}
分享到:
评论

相关推荐

    请教import org.apache.commons.vfs.FileListener接口监听

    博文链接:https://xzio.iteye.com/blog/159344

    FileListener.rar

    这个名为"FileListener.rar"的压缩包提供了一个自定义的文件监听机制,它在Web应用启动时自动开始工作,并且具备定时扫描和文件变更通知功能。以下是对这个机制的详细解释: 首先,`FileMonitor.java`可能是核心的...

    文件监听工具使用示例和需要的jar包.rar

    FileListener.java文件中给出了文件监听操作的示例代码,可直接在方法中增加代码来完成发现文件或文件夹修改后需要做的事情。另还包括了需要的jar包。

    Java实现实时监控目录下文件变化的方法

    知识点1:使用Commons-io的monitor下的相关类来实现文件监控 Commons-io是Apache提供的一个开源库,提供了许多实用的工具类,其中包括文件监控的功能。通过使用Commons-io的monitor下的相关类,可以实现文件监控,...

    分布式中间件Seata

    1. **AT(Automatic Transaction)模式**:这是Seata最常用的模式,它通过两阶段提交(2PC)的变种实现。在第一阶段,Seata代理客户端的本地事务,记录回滚日志;第二阶段,根据第一阶段的结果决定提交或回滚事务。...

    java初学者或开发者查询手册.pdf

    ##### 1. DOM生成和解析XML文档 **定义**: DOM (Document Object Model) 是一种基于XML文档树结构的解析方式。它将整个XML文档加载到内存中,并构建一个节点树,通过这个树可以访问文档的所有部分。 **应用场景**:...

    java实现文件变化监控的方法(推荐)

    `index="1"`的参数引用了一个`FileObserverImpl`实例,它是文件观察器,负责实际的文件变化监听工作。 `FileObserverImpl`是文件观察器,它的主要职责是注册`WatchService`并处理文件系统事件。在配置中,`定义了这...

    C# 使用TraceSource记录程序日志【免费分享】

    1. 创建`TraceSource`对象:首先,你需要在代码中创建一个`TraceSource`实例,通常以你的应用程序或组件的名称为参数。 ```csharp private static readonly TraceSource traceSource = new TraceSource("MyApp"); ``...

    FLASH 上传大文件带进度条

    `fileListener`是一个用于监听各种文件操作事件的对象,如选择、取消、完成等。 #### 1.3 字节计数 - `totalBytes`: 存储文件的总字节数。 - `uploadedBytes`: 已上传的字节数。 #### 1.4 文件类型过滤 `...

    Java实现文件变化监控

    1. **FileMonitorImpl**: 这是文件监测器的实现类,它的作用是定期检查文件系统以检测文件的变化。`constructor-arg`参数用于设置监测间隔(单位:毫秒)和文件观察器。 2. **FileObserverImpl**: 文件观察器负责...

Global site tag (gtag.js) - Google Analytics