FileHelpersを使用して、ASP.NET アプリにアップロードされた CSV ファイルを解析しています。
2 つの異なる 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
なぜこれが起こるのですか?StreamReader を削除して手動で close()しようとしましたusing
が、役に立ちません。