`

配置文件

阅读更多
package com.lolaage.cisvr.sysconf;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Iterator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import com.lolaage.cisvr.sysconst.CiSvrConst;

/**
*
*/

/**
* @author huangye
*/
public class CiSvrConfig implements ICiSvrConfig
{
/**
  * instance
  */
private static CiSvrConfig instance = null;

/**
  * reader
  */
private SAXReader             reader;

/**
  * document
  */
private static Document       document;

/**
  * log
  */
private static Log            log      = LogFactory
                                          .getLog(CiSvrConfig.class);

/**
  * @return
  */
public synchronized static CiSvrConfig getInstance()
{
  if (null == instance)
  {
   instance = new CiSvrConfig();
  }
  return instance;
}

/**
  * constructor
  */
public CiSvrConfig()
{
  init();
}

/**
  * init data
  */
public void init()
{
  try
  {
   reader = new SAXReader();
   document = reader.read(new FileInputStream(
     CiSvrConst.CI_SVR_CONFIGURATION_FILE));
  }
  catch (FileNotFoundException e)
  {
   if (log.isErrorEnabled())
   {
    log.error("read config file failed." + e);
   }
  }
  catch (DocumentException e)
  {
   if (log.isErrorEnabled())
   {
    log.error("read config file failed." + e);
   }
  }
}

/**
  * @param parentNodeName
  * @param childNodeName
  */
public String readString(String parentNodeName, String childNodeName)
{
  String rslt = "";
  Element root = document.getRootElement();
  Iterator it = root.elementIterator();
  while (it.hasNext())
  {
   Element child = (Element) it.next();
   if (parentNodeName.equalsIgnoreCase(child.getName()))
   {
    Iterator itr = child.elementIterator();
    while (itr.hasNext())
    {
     Element cd = (Element) itr.next();
     if (childNodeName.equalsIgnoreCase(cd.getName()))
     {
      rslt = cd.getText();
      break;
     }
    }
    break;
   }
  }
  return rslt;
}

/**
* @param parentNodeName
* @param childNodeName
*/
public void writeString(String parentNodeName, String childNodeName,String maxEventIdHadHandled) {
Element root = document.getRootElement();
Iterator<?> it = root.elementIterator();
while (it.hasNext()) {
Element child = (Element) it.next();
if (parentNodeName.equalsIgnoreCase(child.getName())) {
Iterator<?> itr = child.elementIterator();
while (itr.hasNext()) {
Element cd = (Element) itr.next();
if (childNodeName.equalsIgnoreCase(cd.getName())) {
cd.setText(maxEventIdHadHandled);
break;
}
}
break;
}
}

FileWriter out;
try {
out = new FileWriter(CONFIG_FILE_NAME);
document.write(out); 
out.flush(); 
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();

}


/**
  * @param parentNodeName
  * @param childNodeName
  * @return
  */
public int readInt(String parentNodeName, String childNodeName)
{
  int rslt = 0;
  Element root = document.getRootElement();
  Iterator it = root.elementIterator();
  while (it.hasNext())
  {
   Element child = (Element) it.next();
   if (parentNodeName.equalsIgnoreCase(child.getName()))
   {
    Iterator itr = child.elementIterator();
    while (itr.hasNext())
    {
     Element cd = (Element) itr.next();
     if (childNodeName.equalsIgnoreCase(cd.getName()))
     {
      rslt = Integer.parseInt(cd.getText());
      break;
     }
    }
    break;
   }
  }
  return rslt;
}

/**
  * @param parentNodeName
  * @param childNodeName
  * @return
  */
public double readDouble(String parentNodeName, String childNodeName)
{
  double rslt = 0;
  Element root = document.getRootElement();
  Iterator it = root.elementIterator();
  while (it.hasNext())
  {
   Element child = (Element) it.next();
   if (parentNodeName.equalsIgnoreCase(child.getName()))
   {
    Iterator itr = child.elementIterator();
    while (itr.hasNext())
    {
     Element cd = (Element) itr.next();
     if (childNodeName.equalsIgnoreCase(cd.getName()))
     {
      rslt = Double.parseDouble(cd.getText());
      break;
     }
    }
    break;
   }
  }
  return rslt;
}

public static void main(String[] args)
{
  // Config config = Config.getInstance();
  // String localIp = config.readString(Const.COMMUNICATION, Const.SERVER_IP);
  // int listenPort = config.readInt(Const.COMMUNICATION, Const.LISTEN_PORT);
  // int retrieveInterval = config
  // .readInt(Const.BUSINESS, Const.RETRIEVE_INTERVAL);
  //
  // System.out.println(Integer.toHexString(retrieveInterval));
}
}




//配置文件

<?xml version="1.0" encoding="UTF-8"?>
<System>
<Communication>
<SvrIp>172.16.1.119</SvrIp>
<SvrLstnPort>6300</SvrLstnPort>
<ThreadQuantity>250</ThreadQuantity>
</Communication>
<Resource>
<!--MAX QUEUE TASK QUANTITY FOR COMMLAYER RESOURCE,DEFAULT 100000 -->
<QueueMaxTaskQuantity4CommLayer>100000</QueueMaxTaskQuantity4CommLayer>
</Resource>
<Business>
<!--unit:second -->
<OffLineOfNotConnectedTime>600</OffLineOfNotConnectedTime>
<WeakSignalOfNotConnectedTime>300</WeakSignalOfNotConnectedTime>
</Business>
<Timer>
<SortOutDataClock>03:00:00</SortOutDataClock>
</Timer>
</System>
分享到:
评论

相关推荐

    SourceInsight 4.0配置文件

    **SourceInsight 4.0配置文件详解** SourceInsight是一款强大的源代码分析和编辑工具,尤其在编程语言如C/C++、Java、C#等领域中广泛应用。它提供了高效的代码浏览、查找、编辑和理解功能,是软件开发人员提高工作...

    保存INI配置文件和读取配置文件

    INI 配置文件的保存和读取 INI 配置文件是一种常见的文件格式,用于存储程序的配置信息。它是一种简单的持久化机制,允许程序在启动时初始化配置信息。INI 文件由多个节(Section)组成,每个节中可以有多个键名...

    sourceinsight4 风格配置文件

    **SourceInsight 4 风格配置文件详解** SourceInsight 4 是一款深受程序员喜爱的源代码分析和编辑工具,它提供了强大的代码浏览、查找、跳转和编辑功能。在SourceInsight中,用户可以根据个人喜好和工作需求定制...

    Android读写配置文件

    在Android开发中,读写配置文件是常见的任务,主要用于存储应用程序的设置、用户偏好或者其他持久化数据。配置文件通常以XML或JSON格式存在,因为它们结构清晰,易于解析。本实例将详细介绍如何在Android中进行读取...

    配置文件jar包

    在IT行业中,配置文件是应用程序运行的关键组成部分,它们包含了各种设置和参数,用于定义系统的行为、连接数据库、控制权限等。"配置文件jar包"是一个集合,它将多个配置文件和必要的Java档案(jar文件)整合在一起...

    proe config配置文件大全

    标题中的“proe config配置文件大全”指的是针对Pro/Engineer Wildfire 5.0(简称ProE 5.0)软件的一系列配置文件集合。ProE是一款由PTC公司开发的三维参数化建模软件,广泛应用于产品设计和工程领域。配置文件是...

    Spring Boot多模块配置文件读取

    在Spring Boot应用中,多模块配置文件的读取是一个重要的实践,它有助于提高代码的可维护性和模块化。本文将详细探讨如何在Spring Boot的多模块项目中管理和使用不同的配置文件,以实现低耦合的设计。 首先,了解...

    C# winform 读取修改配置文件

    在C#编程中,Windows Forms(Winform)应用程序经常需要与配置文件进行交互,以便存储和检索应用设置。本文将详细讲解如何在Winform中读取和修改配置文件,特别是`appSettings`部分,这对于大多数桌面应用来说是至关...

    C#读写配置文件(附源代码)

    在C#编程中,配置文件是用于存储应用程序运行时所需的设置和参数的重要工具。这些设置可以包括数据库连接字符串、API密钥、应用路径等。本教程将深入探讨如何使用C#进行配置文件的读写操作,并提供源代码供学习者...

    Linux C语言的配置文件操作库

    在Linux系统中,C语言作为底层编程的主要工具,其对配置文件的操作往往涉及到繁琐的文件I/O操作。然而,为了简化这一过程,开发者通常会利用特定的库来处理配置文件,比如读取、写入、解析键值对等。本文将深入探讨...

    vSphere 主机配置文件 5.5

    vSphere 主机配置文件是VMware vSphere虚拟化平台的一个重要组成部分,它允许IT管理员创建、管理和应用配置文件来标准化和自动化vCenter Server中的ESXi主机配置。使用vSphere主机配置文件可以提高效率并减少重复...

    海康威视配置文件解码专用工具器.rar

    本文将详细讲解海康威视配置文件解码的专业知识,以及如何利用“海康威视配置文件解码专用工具器”进行操作。 首先,了解什么是配置文件。在海康威视的设备中,配置文件通常包含了摄像头、NVR(网络视频录像机)或...

    Hikvision配置文件解码器.zip

    标题中的“Hikvision配置文件解码器.zip”指出,这是一个与解码Hikvision视频监控设备配置文件相关的工具或程序。Hikvision是全球知名的安防监控设备制造商,其产品广泛应用于各种场所,如家庭、商业设施、公共安全...

    笔记本颜色配置文件

    标题中的“笔记本颜色配置文件”指的是用于调整笔记本电脑显示屏色彩特性的ICC(International Color Consortium)配置文件。这种文件能够帮助用户校正显示器的色彩表现,确保显示的图像颜色与实际色彩更加接近,...

    LabVIEW 写入与读取配置文件

    在LabVIEW中,配置文件是用于存储应用程序设置、参数或状态的关键元素。这些文件通常以.ini或.xml格式存在,允许程序在运行时根据这些配置进行自定义行为。本教程将深入探讨如何在LabVIEW中进行配置文件的写入与读取...

    linux c 配置文件读写

    在Linux系统中,C语言开发过程中,经常需要与配置文件打交道,进行读取和写入操作。配置文件通常用于存储程序的设置或用户偏好,使其能够根据不同的环境或需求进行定制。下面我们将深入探讨如何在C语言中实现对配置...

    MACBook颜色配置文件Apple-MAC-OS-Color LCD.rar

    标题中的“MACBook颜色配置文件Apple-MAC-OS-Color LCD.rar”指的是为苹果MacBook设计的一种特定的颜色配置文件,这种文件通常以ICC(International Color Consortium)格式存在,用于优化显示器的色彩表现,确保...

    java 动态修改配置文件

    在Java开发中,配置文件是应用中不可或缺的一部分,它们通常包含系统设置、数据库连接信息、应用参数等。本文将深入探讨如何在Java中实现动态修改配置文件,同时解决中文字符编码问题,使得配置文件的读写更加高效和...

    mac的颜色配置文件

    "mac的颜色配置文件",也就是苹果的ICC(International Color Consortium)配色文件,是这个过程中的重要组成部分。 ICC配色文件是一种标准化的方式,用来描述显示器、打印机、扫描仪等设备如何解释和再现颜色。这些...

    C++读写ini配置文件

    在C++编程中,处理配置文件通常是为了存储和读取应用程序的设置或用户偏好。ini文件是一种常见的配置文件格式,其结构简单,易于理解和操作。本文将深入探讨如何使用C++来读写ini配置文件,主要参考提供的"rwconfig....

Global site tag (gtag.js) - Google Analytics