-1

我想使用java将下面的wmi输出解析为键值对作为键值对。请给我建议..我的WMI输出包含2行多列,第一行是标题,第二行包含数据。我想要正则表达式或任何方法将标头与相应的数据分开作为哈希图的键值。

我不知道如何继续......

Caption                  Description              IdentifyingNumber  Name                   

Computer System Product  Computer System Product                     HP xw4600 Workstation                   

解析输出应该像......

键=值

标题 = 计算机系统产品

描述 = 计算机系统产品

识别号码 =

名称 = HP xw4600 工作站

4

2 回答 2

0

如果您的文件格式始终相同,您可以轻松使用解析器:

FileInputStream fis = new FileInputStream(filename);
InputStreamReader isr = new InputStreamReader(fis);
Reader in = new BufferedReader(isr);
String[] array = new String[2];
for(int i = 0; i < 2; i++)
{
    ((BufferedReader)in).readLine();
}
for(int i = 0; i < array.length; i++)
{
   array[i] = ((BufferedReader)in).readLine();
   if(array[i] == null)
   {
    array[i] = ""; //$NON-NLS-1$
   }
}
in.close();
String[] headers = array[0].split(Pattern.quote("\t")); //$NON-NLS-1$
String[] values = array[1].split(Pattern.quote("\t")); //$NON-NLS-1$

然后运行两者并填充hashmap

于 2012-11-27T09:19:58.510 回答
0

我将 wmi 输出格式化为列表,现在很容易格式化输出。

于 2012-11-28T05:09:38.430 回答