Jestem kodowanie w C# i przy użyciu Windows Forms. Mam plik tekstowy i chcę policzyć wszystkie znajdujące się w nim wiersze.Policz wiersze w pliku tekstowym
Peter; 25
Jan; 31
Jane; 22
Ów trzy linie i chcę je policzyć na przykład.
Jestem kodowanie w C# i przy użyciu Windows Forms. Mam plik tekstowy i chcę policzyć wszystkie znajdujące się w nim wiersze.Policz wiersze w pliku tekstowym
Peter; 25
Jan; 31
Jane; 22
Ów trzy linie i chcę je policzyć na przykład.
Najlepszym sposobem byłoby użyć czegoś takiego:
var count = File.ReadLines("file.txt").Count();
który będzie działał tylko w .NET 4, ale będą czytać jednej linii na raz. Jeśli jesteś na tyle szczęśliwy, aby wczytać cały plik do pamięci w jednym zamachem, można użyć:
var count = File.ReadAllLines("file.txt").Length;
Zauważ, że jeśli plik jest duży (czy to na dysku sieciowym etc), może to trwać długo czas, w którym to przypadku chcesz to zrobić z wątku interfejsu użytkownika.
Jeśli plik nie jest zbyt duży, można to zrobić:
File.ReadAllLines(filePath).Length;
(to będzie przeznaczyć cały plik, więc upewnij się, że wydajność nie jest problemem)
Thnaks za answear i zadziałało, ale użyłem answear powyżej. –
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;
Powinieneś użyć instrukcji C# przy użyciu lub zadzwoń do Dispose na FileStream –
O tak, nie myślałem o tym :-) Przepraszamy – Morten
Gdzie jest EnumerateAllLines zdefiniowane? –
Użyłem var count = File.ReadAllLines ("file.txt"). Length; i działało świetnie dzięki dużo! –
@Simon: Mój błąd, to File.ReadLines. Naprawiłem odpowiedź. Nadal jednak tylko z .NET 4. –