C#でコーディングし、Windowsフォームを使用しています。 私はテキストファイルを持っており、そこにあるすべての行を数えたいと思っています。テキストファイルの行数をカウントする
ピーター; 25
ジョン; 31
ジェーン;三行ザッツ22
と私は例のためにそれらをカウントします。唯一の.NET 4で動作しますが、一度に一つの行を読み込みます
var count = File.ReadLines("file.txt").Count();
:
C#でコーディングし、Windowsフォームを使用しています。 私はテキストファイルを持っており、そこにあるすべての行を数えたいと思っています。テキストファイルの行数をカウントする
ピーター; 25
ジョン; 31
ジェーン;三行ザッツ22
と私は例のためにそれらをカウントします。唯一の.NET 4で動作しますが、一度に一つの行を読み込みます
var count = File.ReadLines("file.txt").Count();
:
最良の方法は、のようなものを使用することです。あなたが一度にメモリにファイル全体をロードするために十分満足している場合は、使用することができます。
var count = File.ReadAllLines("file.txt").Length;
注意ファイルが大きい場合(あるいは、それはなどのネットワークドライブ上にある)場合、これは長いを取ることができることあなたはUIスレッドからそれをやりたいと思うでしょう。
ファイルが大きすぎない場合には、あなたがこれを行うことができます:
File.ReadAllLines(filePath).Length;
を(これはファイル全体を割り当てるので、パフォーマンスが問題ではないことを確認します)
返答のためのThnaksとそれは働いたが、私は上記の答えを使用しました。 –
string fileName = @"X:\Testfolder\countthis.txt";
int lineCount = 0;
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
StreamReader reader = new StreamReader(fs);
Assert.Fail();
while (reader.ReadLine() != null)
lineCount++;
return lineCount;
あなたはC#usingステートメントを使用するか、FileStreamでDisposeを呼び出すことを確認する必要があります –
ああ、私はそれについて考えなかった:-)申し訳ありません – Morten
EnumerateAllLinesがあります定義されている? –
私はvar count = File.ReadAllLines( "file.txt")を使用しました。大変感謝しました! –
@シモン:私の間違いは、File.ReadLinesです。私は答えを修正しました。それでも.NET 4の場合のみです。 –