我試圖構建一種掃描程序,它通過導出的數據庫進行爬網並創建有關找到多少某些項目的統計信息。導出文件的結構是這樣的:掃描類似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