c#を使用してテキストファイル(上記のサンプルスクリーンショットを参照)の値をExcelまたは.csvファイルに読み取る速度のように最も効率的な方法は何ですか?
最初の行には常に列名があり、このサンプルでは6列ですが、これは標準ではありません。別のファイルでは、列は4または9になります。
それらの空白行をスキップするのもいいでしょう。
テキストファイルは2GBまたは4GBまで大きくなる可能性があることに注意してください。
ありがとう。
BufferedStream
既存のストリームのバッファであるaを使用できます。つまり、FileStream
パフォーマンスに役立ちます。
using (FileStream fs = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (BufferedStream bs = new BufferedStream(fs))
using (StreamReader sr = new StreamReader(bs))
{
string line;
while ((line = sr.ReadLine()) != null)
{
}
}
出典:
C# http://msdn.microsoft.com/en-us/library/system.io.bufferedstream.aspxのストリームを含む大きなテキストファイルの読み取り