`

.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

    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)是一个开源的计算机视觉和机器学习软件库,...

    有道单词本.xml 有道单词本.xml 有道单词本.xml

    有道单词本.xml 可以导入到有道单词里面

    APK AndroidManifest.xml 解密工具

    一个解密apk 包中AndroidManifest.xml 的工具,命令行直接使用,生成一个明文的xml 文件。 AndroidManifestConver.exe c:\src.xml c:\dest.xml

    javax.xml.bind.jar 包

    在集成阿里云移动推送时,部署到服务器的时候遇到了java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter 错误,产生原因是缺少javax.xml.bind.DatatypeConverter

    maven settings.xml 直接下载使用

    国内连接maven官方的仓库更新依赖,收集一些国内快速的maven仓库镜像以备用。 settings.xml配置好的国内私服,直接可以下载使用!

    提取apk文件中的AndroidManifest.XML

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

    maven中settings.xml文件下载

    settings.xml配置

    codetemplates.xml

    codetemplates.xml

    haarcascade_eye.xml

    haarcascade_eye.xml

    unity3d读取xml插件Mono.Xml

    Unity3D是一款强大的跨平台游戏开发引擎,广泛应用...然而,需要注意的是,虽然Mono.Xml提供了基础的XML处理功能,但它的功能相对有限,对于更复杂的需求,可能需要考虑使用其他如System.Xml的库或者第三方XML解析库。

    maven archetype-catalog.xml 下载

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

    lang_zh_cn.xml

    foxit reader的中文包lang_zh_cn.xml。

    PluginManagerPlugins.xml文件

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

Global site tag (gtag.js) - Google Analytics