我试图构建一种扫描程序,它通过导出的数据库进行爬网并创建有关找到多少某些项目的统计信息。导出文件的结构是这样的:扫描类似INI的大文件
^
property1: value1
property2: value4
^
property1: value5
property2: value7
^
property3: value2
property1: value6
在这个例子中,我想在多少集就知道确实property1有值5?
^是一个字节序列,标记新数据集的开始。问题在于属性有时不在一个数据集中,或者属性内的顺序不同。
目前,我正在浏览每个数据集并遍历每一行,并检查该行是否以想要的属性开头,但我觉得它可以做得更漂亮并且更高效。
public static Order getNextOrder(StreamReader sr){
String myLine = "";
String prop1 = "";
while(!myLine.StartsWith("^") && myLine!=null){
myLine = sr.ReadLine();
if(myLine.StartsWith("prop1")){
prop1 = myLine.Split(':')[1].Trim();
continue;
}
}
if(myLine==null)
isFinished = true;
var order = new Order(prop1);
if(OrderFilter.accepted(order))
return order;
return null;
}
你能展示你目前在做什么吗?你有*特定的问题*? – gravity
具体问题:是否有更高性能和/或干净的解决方案? – Curunir
您尚未显示您的解决方案实际*是*。你讨论它,并展示了示例数据,但不是你如何迭代数据以提供任何见解。 – gravity