2012-04-07 16 views
3

大きなテキストファイル(4000行以上)を読み込み、各行をコンソールに出力しようとしています。私は、これはラインを読みテキストファイルを読み込んでいるうちに、一部のファイルしか読み込まない

 using (var reader = new StreamReader("list1.txt")) 
     { 
      while (!reader.EndOfStream) 
       Console.WriteLine(reader.ReadLine().Trim()); 
     } 

     Console.Read(); 

次のコードを使用していますが、問題は、それがライン1正しいからスタートしなければならない時に読み取りがライン4113から始まるのですか?つまり、私はテキストファイルから100行ほどしか取得できません。なぜこれが起こるのだろうか?

ありがとうございました。

+6

。あなたはそれがコンソールウィンドウのスクロールバッファーを過ぎてスクロールしているだけではないと確信していますか? – Robaticus

+0

どうすれば確認できますか? –

+0

ああ、私はbufferheightをスイートラインのテキストに変更しました。 –

答えて

2

出力ウィンドウに最後のN行しか表示されない場合があります。Nは約100です。言い換えれば、スクロールバックバッファは思ったよりも小さいです。

あなたのような何かにあなたのコードを変更することでこれを確認することができます

意志出力
int numlines = 0; 
using (var reader = new StreamReader("list1.txt")) { 
    while (!reader.EndOfStream) { 
     Console.WriteLine(reader.ReadLine().Trim()); 
     numlines++; 
    } 
} 
Console.WriteLine("Wrote " + numlines + " lines."); 
Console.Read(); 

最後に処理された行数。

することはでき変更のようなコマンドを使用して、コンソールの高さ:それは動作するはずのようにこれが見えます

Console.BufferHeight = 30000; 
2

ユーザーから提案されたように、私は、テキスト行を改訂するためにBufferheightを増やす必要がありました。

関連する問題