`

配置文件

阅读更多
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>
分享到:
评论

相关推荐

    mac的颜色配置文件_苹果颜色配置文件下载 操作系统.zip

    从给定的文件信息来看,这个压缩包似乎包含了与苹果操作系统中Mac颜色配置文件相关的内容。在苹果的MacOS操作系统中,颜色配置文件是用于确保不同设备间颜色显示一致性的关键组件。这些配置文件能够定义显示设备、...

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

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

    Android读写配置文件

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

    Spring Boot多模块配置文件读取

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

    C# winform 读取修改配置文件

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

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

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

    Hikvision配置文件解码器.zip

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

    vSphere 主机配置文件 5.5

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

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

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

    pore5.0配置文件

    **Pore5.0配置文件详解** 在3D建模和产品设计领域,Pro/E(现称为Creo Parametric)是一款广泛使用的软件,其最新版本为Creo 5.0,简称Pore5.0。配置文件对于Pro/E的运行至关重要,它定义了软件的各种参数和设置,...

    LabVIEW 写入与读取配置文件

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

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

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

    mac的颜色配置文件

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

    C++读写ini配置文件

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

    分享BigemapPro地图配置文件

    分享BigemapPro地图配置文件

    foobar 均衡器 最强配置文件

    "foobar 均衡器 最强配置文件"指的是在音乐播放软件Foobar2000中使用的高级音频调整工具——均衡器的一种优化设置。Foobar2000是一款深受音乐爱好者喜爱的高质量音频播放器,它支持各种音频格式,并允许用户自定义...

    creo3.0配置文件详细设置

    在三维建模软件Creo 3.0中,配置文件(.prf文件)是控制程序行为和用户界面的关键元素。这些文件允许用户根据个人习惯和项目需求定制软件的各个方面,包括显示设置、单位系统、内存分配、启动选项等。本篇文章将详细...

    汇川伺服电机 Ethercat配置文件

    本篇将详细探讨"汇川伺服电机 Ethercat配置文件"的相关知识点,以及如何进行有效的配置。 EtherCAT(Ethernet for Control Automation Technology)是一种实时工业以太网协议,它允许高速数据传输和低延迟,非常...

    linux下QT程序读写配置文件小程序

    在Linux环境下,开发基于Qt框架的应用程序时,我们经常需要处理配置文件,以便保存用户的个性化设置或应用程序的状态信息。`QSettings`是Qt提供的一种强大且便捷的工具,用于读写配置文件。这个例子中,我们将深入...

Global site tag (gtag.js) - Google Analytics