我先在这里说一下目前在做的这样一个功能:
读取以下内容类似的一个文件,然后通过=号分割,将分割后的值前面一部分以及后面一部分放在map里面,后添加到了一个List里面。
现在我是想要把这个读取后添加的List拿出来进行比较,通过取里面map的key来进行比较:如果是相同的,那就将val拿出来放到另外一个map里面,进行入库。
1.3.6.1.2.1.1.2.0 = 1.3.6.1.4.1.9.12.3.1.3.411
1.3.6.1.2.1.1.3.0 = 173 days, 10:36:40.88
1.3.6.1.2.1.1.4.0 =
1.3.6.1.2.1.1.5.0 = mds9140-h02-n18-1
1.3.6.1.2.1.1.6.0 =
1.3.6.1.2.1.1.7.0 = 70
1.3.6.1.2.1.2.2.1.1.16777216 = 16777216
1.3.6.1.2.1.2.2.1.1.16781312 = 16781312
1.3.6.1.2.1.2.2.1.1.16785408 = 16785408
以下是我读取的代码:
List fileList = getFileList();
List list = new ArrayList();
for (Object object : fileList) {
Map valMap = new HashMap();
Map map = (Map)object;
String key = map.keySet().toString();
String val = map.values().toString();
val.replaceAll(" ", "");
if(val!=null ){
if(key.contains("1.3.6.1.2.1.1.5")){
valMap.put("Name", val);
}else if(key.contains("1.3.6.1.2.1.2.1")){
valMap.put("portnumber", val);
}else if(key.contains("1.3.6.1.2.1.2.2.1.1")){
valMap.put("portindex", val);
}else if(key.contains("1.3.6.1.2.1.31.1.1.1.1")){
valMap.put("portfcvalue", val);
}else if(key.contains("1.3.6.1.2.1.2.2.1.3")){
valMap.put("porttype", val);
}
if(valMap != null && valMap.size()>0){
list.add(valMap);
}
}
}
我写的这段代码,在匹配1.3.6.1.2.1.2.2.1.1 的时候回匹配到很多个,匹配的字符不止我写的这几个,还有很多,想请问下有没有什么简便方法用来比较字符后进行入库操作,还望大神指教,谢谢!!!