【问题标题】:unable to parse .conf file using java无法使用 java 解析 .conf 文件
【发布时间】:2015-08-22 18:44:19
【问题描述】:
<TF_INFO_START>
<TF_HOST>`TF_IN`
<TF_ID>`3219`
<TF_INFO_END>
<SF_INFO>
<SF_NAME>`JOHN`<IP>`10.110.12.12`<SF_PORT>`9101`
<END_SF_INFO>

<COMPONENT_START_TAG>
<COMPONENT_NAME>`AISMOD`<PATH>`AISPATH`<TYPE>`U`<M>`main`
<COMPONENT_END_TAG>

我想解析上面的test.conf文件并在日志文件中显示每个参数。我尝试过像这样解析它

Properties configFile = new Properties();
    configFile.load(new FileInputStream("C:/Users/JOHN/Desktop/test.conf"));
    String foo = configFile.getProperty("TF_HOST");

我无法获取 TF_HOST 和其他参数的值。我得到空结果..

谁能帮我解析上面的文件内容

【问题讨论】:

  • 不完全清楚你的配置文件是什么格式。根据你的代码sn-p,看起来你使用的是Java的Properties配置文件格式,但是你的示例配置文件有点混乱. test.conf 是否逐字包含您的示例配置,或者括号/反引号是否应该指示示例数据?你能提供一个你想要解析的配置文件和预期的 configFile 表示吗?

标签: java parsing text brackets


【解决方案1】:

把你的 conf 文件写成 键=值 然后使用 ResourceBundle 您可以轻松读取文件。 喜欢


ResourceBundle rb = ResourceBundle.getundle("com.demo.conf");//path for conf       file in my case it is in com.demo package
String value = rb.getString(key);

【讨论】:

  • 嗨Shahid,对不起,我无法获得价值..我尝试了以下.. ResourceBundle rb = ResourceBundle.getBundle("C:/Users/JOHN/Desktop/test.conf",en_US );字符串主机= rb.getString("TF_HOST"); System.out.println(HOST);
  • Ravi,将文件的扩展名更改为 .properies 而不是 .conf。由于资源包默认附加 .properties 扩展名。所以最后 t 看起来像 ResourceBundle.getBundle("C:/Users/JOHN/Desktop/test",en_US);
猜你喜欢
  • 1970-01-01
  • 2011-12-31
  • 2021-12-14
  • 1970-01-01
  • 1970-01-01
  • 2012-06-18
  • 2023-04-02
  • 1970-01-01
  • 2020-07-01
相关资源
最近更新 更多