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

String&XML

 
阅读更多
package com.huawei.ngbss.esb;
import java.io.File;
import java.io.FileInputStream;
import java.util.Enumeration;
import java.util.Properties;
import java.util.TimerTask;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class FileListener extends TimerTask
{
    private File file=null;
    private long lastModified=0;
    private Properties prop=new Properties();
    private boolean fileFlag=true; 
       public boolean isFileFlag()
    {
        return fileFlag;
    }
     
    public void setFileFlag(boolean fileFlag)
    {
        this.fileFlag = fileFlag;
    }

    public Logger getLogger()
    {
        return logger;
    }

    public void setLogger(Logger logger)
    {
        this.logger = logger;
    }
   
    private Logger logger=Logger.getLogger(FileListener.class);
   
    FileListener(String filePath)
    {
        if(filePath!=null)
        {
            this.file=new File(filePath);
            if(!file.isFile())
            {
                logger.error("This file["+filePath+"]does not exist,please check it.");
                return;
            }
           
            if(this.file.getName().endsWith(".properties"))
            {
                this.fileFlag=true;
            }
            else if(this.file.getName().endsWith(".xml"))
            {
                this.fileFlag=false;
            }
            else
            {
                logger.info("no thing to do......");
            }
        }
    }
   
     private boolean isFileUpdated()
    {
        if(this.fileFlag)
        {
            long lastUpdatedTime=file.lastModified();
            //if this file has upate the lastUpdateTime will > 0
            return lastUpdatedTime >this.lastModified;
        }
        else
        {
            return false;
        }
    }
   
      public void loadFile()
    {
        if(this.fileFlag)
        {
            loadProperties();
        }
        else
        {
           
        }
    }
      public void loadProperties()
    {
        //set the lastModfied
        this.lastModified=file.lastModified();
        FileInputStream in=null;
        try
        {
            logger.info("The Properties file["+getPath()+"] loading......");
            in=new FileInputStream(file);
            prop.load(in);
            //print all properties
            //get properties all property KeyNames
            Enumeration<?> enu=prop.propertyNames();
            StringBuffer buf=new StringBuffer();
            while(enu.hasMoreElements())
            {
                String key=(String) enu.nextElement();
                buf.append("     key: ").append(key).append(",     value: ")
                .append(prop.getProperty(key)).append("\n");
            }
            logger.info(buf.toString());
            logger
            .info("The properties file[" + getPath()
                    + "] load complete.");
           
                if("log4j.properties".equalsIgnoreCase(getFileName()))
            {
                PropertyConfigurator.configure(getProperties());
            }
        }
        catch (Exception e)
        {
            logger.error("The file[" + getPath()
                    + "] doesn't exist, reload file unsuccess.");
            e.printStackTrace();
        }
    }
     public void run()
    {
        if(isFileUpdated() && fileFlag)
        {
            logger.info("the Properties file["+getPath()+"] was modified.");
            loadFile();
        }
        else if(isFileUpdated() && !fileFlag)
        {
            loadFile();
        }
    }
}
分享到:
评论

相关推荐

    String.xml Excel 相互转换工具

    `String.xml`文件是Android系统用来存储应用中所有文本资源的主要方式,它使得开发者能够方便地管理和国际化应用的文本内容。本工具就是专为处理`String.xml`与Excel表格之间的相互转换而设计的,方便开发者进行批量...

    Excel和String.xml 互相转换工具

    在IT行业中,尤其是在Android或者iOS应用开发中,`String.xml` 文件是用于管理应用程序中所有字符串资源的关键文件。它允许开发者集中地定义、管理和翻译应用中的文本,提高代码的可维护性和可扩展性。本工具则专注...

    android String.xml Excel 相互转换工具

    为了方便管理这些多语言资源,Android使用`String.xml`文件来存储应用中的文本字符串。然而,手动编辑这些XML文件既耗时又容易出错,尤其是在处理大量文本时。这时,就需要借助一些工具进行`String.xml`与Excel之间...

    String.xml转Excel翻译工具

    《String.xml到Excel翻译工具详解》 在移动应用开发中,多语言支持是必不可少的一环。为了方便开发者管理和翻译应用程序中的字符串资源,一种常见的做法是将这些字符串存储在XML文件中,通常命名为“String.xml”。...

    TinyXml面向对象的接口化参照.pdf

    3. `GetXmlDeclare(string &strVersion, string &strStandalone, string &strEncoding)`:这个函数用于获取XML文件的声明部分,包括版本号(Version)、是否独立(Standalone)以及编码(Encoding)信息,并将这些...

    String.XML转Excel的工具应用

    1. **XML基础**:`string.xml`文件是基于XML格式的,XML是一种可扩展标记语言,用于结构化数据的存储和传输。了解XML的基本语法和元素结构对于理解和处理这类文件至关重要。 2. **Android资源文件**:在Android应用...

    xml编码和解密代码

    std::string encryptXML(const std::string& xml, const std::string& key) { // 实现加密逻辑 } // 解密函数 std::string decryptXML(const std::string& encryptedXml, const std::string& key) { // 实现...

    dom4j以String的方式读取XML的内容,并给String的值赋值,写入XML中

    在这个场景中,我们关注的是如何使用DOM4J以String的形式读取XML内容,然后将String的值赋给XML中的特定节点,最后将更新后的内容写回XML文件。下面我们将详细探讨这一过程。 1. **解析XML到String** 要将XML文件...

    tinyxml内存中加密解密

    std::string encrypt(const std::string& xml, const unsigned char* key, const unsigned char* iv) { // ... 加密过程 ... } // 解密函数 std::string decrypt(const std::string& encrypted, const ...

    xml转String,String转xml

    dom4j的操作 ,dom4j转化为String,String转化为xml

    利用pugixml 转化xml为string

    利用pugixml 转化xml为string

    将string类型xml字符串转为json字符串

    本篇文章将详细讲解如何将string类型的XML字符串转换为JSON字符串,并介绍相关的技术知识。 首先,理解XML和JSON的基本结构是至关重要的。XML是一种树形结构的标记语言,通过标签来定义元素和属性,例如: ```xml ...

    xml 封装接口

    XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,它以其结构化、可读性强的特点被广泛应用于软件开发中的配置文件和日志记录。TinyXML是一个小型、开源的C++库,专门用于解析和生成XML文档。...

    怎么将word转txtf呢的源码

    std::string xmlPath = tempDir + "word/document.xml"; std::string txtPath = "output.txt"; // 解压缩DOCX文件 decompressDocx(docxPath, tempDir); // 提取并保存文本 extractText(xmlPath, txtPath); ...

    XML操作类封装

    XMLDocument(const std::string& filePath); ~XMLDocument(); private: TiXmlDocument doc; }; ``` 2. **加载和保存文件**:`LoadFromFile`和`SaveToFile`方法用于加载XML文件到内存和保存内存中的XML到文件。 ...

    webservice接口接收xml,string代码

    ### WebService接口接收XML与String代码解析 #### 一、概述 在现代软件开发中,WebService作为一种基于HTTP协议的应用程序接口(API),广泛应用于不同系统之间的数据交换与服务调用。本篇文章将根据提供的代码示例...

    Android string.xml中的替换方法

    在Android应用开发中,资源管理是非常重要的一部分,其中string.xml文件用于存储应用程序中使用的文本字符串。这不仅方便了代码的维护,还支持多语言环境。本文将深入探讨Android string.xml中的替换方法,以及如何...

    android string.xml %1$s %d\%的用法

    在Android开发中,`string.xml` 文件是应用中管理字符串资源的重要部分,它允许开发者集中存储和管理应用程序中的文本内容,提高代码可读性和维护性。`%1$s` 和 `%d\%` 是在 `string.xml` 文件中常用的格式化符号,...

    android SAX解析String类型 XML 字符串

    在Android开发中,处理XML数据是一项常见的任务,无论是从网络获取还是本地存储。"SAX解析String类型XML字符串"就是一种高效且...在处理StringXml压缩包文件时,可以按照这个思路进行操作,实现XML数据的解析和显示。

    Android String.xml标签在java代码中的引用

    ### Android String.xml标签在java代码中的引用 #### 概述 在Android开发中,为了方便进行国际化处理以及统一管理应用内的字符串资源,开发者通常会将应用程序中的文本信息存放在`res/values/strings.xml`文件中。...

Global site tag (gtag.js) - Google Analytics