我對FileHelpers有一個好奇的問題。解析csv文件時,如果將引擎的IgnoreFirstLines參數設置爲大於0的任何值,並且遇到的第一個錯誤位於CSV文件的第一個不被忽略的行上,則該引擎不會正確保存RecordString。它保存了csv文件的第一行(被忽略的一行)。FileHelpers錯誤和RecordString
實施例: 引擎安裝:
engine.Options.IgnoreFirstLines = 2;
CSV文件:
CSV Header,,,
Route,Comments,Route Type,Percent
1911,Comment1,RSR,1.3%
如果有錯誤解析開頭的行 「1911」 的engine.ErrorManager.Errors [0 ]將不正確地將CSV文件的第一行存儲在RecordString屬性中。 LineNumber屬性保持正確。隨後的錯誤將具有正確的RecordString值。
我似乎無法找到任何關於此;我想知道有沒有人見過這樣的事情。
也問在FileHelpers支持論壇上。 http://www.filehelpers.com/forums/viewtopic.php?f=4&t=1728&p=3306#p3306 – kav 2012-01-27 04:41:21
你可以包括堆棧跟蹤,代碼等?這聽起來像是你的分隔符在你的類中可能是錯誤的,但是如果沒有這個類,讀取代碼,錯誤堆棧等,很難分辨出來。 – 2012-01-27 05:53:24
在我的代碼中沒有異常/錯誤堆棧。我不認爲分隔符是錯誤的,因爲我可以成功解析數千條記錄。這就是IgnoreFirstLines設置的特定情況,第一行有一個錯誤(在被忽略的行之後)。 – kav 2012-01-27 06:46:11