`

.xml正向反向取值(之五)

    博客分类:
  • java
 
阅读更多
FileListener类,续:
private void loadProperties()
	{
		//更新时间
		this.lastModified = file.lastModified();
		
		try
		{
			logger.info("The properties file[" + getPath() + "] loading ...");
			
			FileInputStream in = new FileInputStream(file);
			prop.load(in);
			
			//print all properties
			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.");
			
			//如果是log4J.properties文件更新,需要加载配置以便立即生效
			if ("log4j.properties".equalsIgnoreCase(getFileName()))
            {
                PropertyConfigurator.configure(getProperties());
            }
		}
		catch (FileNotFoundException e)
		{
			logger.error("The file[" + getPath() + "] doesn't exist, reload file unsuccess.");
			e.printStackTrace();
		}
		catch (IOException e)
		{
			logger.error("System IO Error, reload file[" + getPath() + "] unsuccess.");
			e.printStackTrace();
		}
	}
	//加载枚举文件
	private void loadXml()
	{
		//更新时间
		enumerateFiles.get(currentEnumFilePath).setEnumLastModifieds(enumerateFiles.get(currentEnumFilePath).getEnumFile().lastModified());
		//KXml解析器
		KXmlParser parser = new KXmlParser (); 
		
		//转换为Element
		Document doc = new Document();
		
		try
		{
			logger.info("The properties file[" + currentEnumFilePath + "] loading ...");
			//打印原文件 
			println();
	
			//解析文件
			FileInputStream in = new FileInputStream(enumerateFiles.get(currentEnumFilePath).getEnumFile());
			
			InputStreamReader reader =  new InputStreamReader(in);

			parser.setInput(reader);

			parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true);
			
			doc.parse(parser);
			
			enumerateFiles.get(currentEnumFilePath).setEnumElement(doc.getRootElement());

			//logger.info("The file load:" + xmlBuf.toString());
			logger.info("The properties file[" + currentEnumFilePath + "] load complete.");
		}
		catch (XmlPullParserException e) 
		{
			logger.error("The file[" + currentEnumFilePath + "] parser error,please check again.");
			e.printStackTrace();
		}
		catch (FileNotFoundException e)
		{
			logger.error("The file[" + currentEnumFilePath + "] doesn't exist, reload file unsuccess.");
			e.printStackTrace();
		}
		catch (IOException e)
		{
			logger.error("System IO Error, reload file[" + currentEnumFilePath + "] unsuccess.");
			e.printStackTrace();
		}
		catch (Exception e)
		{
			logger.error("loadXml file[" + currentEnumFilePath + "] unsuccess.");
			e.printStackTrace();
		}
	}
分享到:
评论

相关推荐

    opencv的各种haarcascade.xml文件

    haarcascades\haarcascade_eye.xml haarcascades\haarcascade_eye_tree_eyeglasses.xml haarcascades\haarcascade_frontalface_alt.xml haarcascades\haarcascade_frontalface_alt2.xml haarcascades\haar...

    License.xml 破解码

    License.xml 破解码License.xml 破解码License.xml 破解码License.xml 破解码License.xml 破解码License.xml 破解码License.xml 破解码License.xml 破解码License.xml 破解码License.xml 破解码License.xml 破解码...

    AndroidManifest.xml反编译工具

    在Android应用开发中,`AndroidManifest.xml`是一个至关重要的文件,它包含了应用程序的基本配置和元数据,如应用的包名、所需权限、启动活动、服务、接收器等。本话题将详细探讨`AndroidManifest.xml`的反编译工具...

    javax.xml.bind.jar

    javax.xml.bind.jar

    hibernate.cfg.xml

    hibernate.cfg.xml hibernate框架的配置文件

    javax.xml.ws.Service 报错需要的包

    在Java开发中,`javax.xml.ws.Service` 是一个核心组件,属于Java API for XML Web Services (JAX-WS)的一部分,用于创建客户端和服务端的Web服务代理。报错通常表明缺少必要的依赖包,这可能会影响到程序的正常运行...

    javax.xml.stream_1.0.1.v201004272200.jar

    javax.xml.stream_1.0.1.v201004272200.jar

    人脸识别需要的haarcascade_frontalface_default.xml文件

    haarcascade_frontalface_default.xml 和 haarcascade_eye.xml 文件是OpenCV库中用于人脸检测和眼睛检测的重要数据结构。 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,...

    提取apk文件中的AndroidManifest.XML

    AndroidManifest.xml是APK的核心组件之一,它提供了应用的基本配置信息,包括应用名称、版本、所需权限、服务、活动、广播接收器等。当我们需要深入分析或修改一个APK时,提取AndroidManifest.xml就显得尤为重要。本...

    codetemplates.xml

    codetemplates.xml

    haarcascade_eye.xml

    haarcascade_eye.xml

    lang_zh_cn.xml

    foxit reader的中文包lang_zh_cn.xml。

    PluginManagerPlugins.xml文件

    解决Notepad++ Plugin Manager无法加载插件的方法。把PluginManagerPlugins.xml放在这个目录下C:\Users\你主机系统用户\AppData\Roaming\Notepad++\plugins\config 重新打开软件

    maven archetype-catalog.xml 下载

    `archetype-catalog.xml`是Maven骨架目录的一个元数据文件,它包含了所有可用的骨架信息。 `archetype-catalog.xml`文件的作用在于,它是一个骨架仓库的目录清单,列出了该仓库中所有的Maven骨架。这些骨架可以被...

    apns-conf.xml

    网络上很多的APN文件,看了许多,没有带电信参数的,花费一晚上的时间,通宵写成了这个,确切的说是改成了这个集成了中国电信相关参数的apns-conf.xml文件,借阅请说明出处,谢谢

    Maven原版settings.xml配置文件(下载)

    Maven原版settings.xml配置文件,根据个人需要,可以打开对应注释或替换相关阿里云镜像或远程仓库地址即可使用。

    maven pom.xml 动态读取变量值插件

    该jar包功能,可以在一个properties文件里面定义jdbc.url=${url},在另一个properties文件定义具体的值,通过该jar可以获取到哪个具体的值。下载之后,自行安装到本地...具体pom.xml配置使用可以参考网络其他博文,谢谢

    main-menu.xml

    mysqlWorkbench 汉化

    codetemplates.xml下载(Eclipse 注释代码模板文件)

    codetemplates.xml下载(Eclipse 注释代码模板文件)

    archetype-catalog.xml

    在使用maven命令创建maven项目时候执行到Generating Project in Batch mode 卡住,是因为要下载archetype-catalog.xml(4M)文件,可以单独下载后使用-DarchetypeCatalog=local引用本地下载的文件,需要将archetype-...

Global site tag (gtag.js) - Google Analytics