我正在使用FileHelpers解析在 ASP.NET 应用程序上上传的 CSV 文件。
将上传两个不同的 CSV 文件结构(即不同数量的列),因此在使用要解析的结构模型创建 FileHelpers 引擎之前,我读取文件的第一行如下:
string line = "";
using (StreamReader reader = new StreamReader(file.InputStream))
{
line = reader.ReadLine();
}
int fieldCount = line.Count(l => l == ',');
这有效,并给了我列数,但它破坏了我想做的任何其他事情file.InputStream
:
var engine = new FileHelperEngine<CSVModel>();
CSVModel[] records;
records = (CSVModel[])engine.ReadStream(new StreamReader(file.InputStream),
Int32.MaxValue);
// etc etc
为什么会这样?我试图拿走using
StreamReader 并手动关闭(),但它没有帮助。