Sto codificando in C# e utilizzando Windows Form. Ho un file di testo e voglio contare tutte le righe che ci sono dentro.Conteggio di righe in un file di testo
Pietro; 25
Giovanni; 31
Jane; 22
Quello è tre linee e voglio contarli, per esempio.
Sto codificando in C# e utilizzando Windows Form. Ho un file di testo e voglio contare tutte le righe che ci sono dentro.Conteggio di righe in un file di testo
Pietro; 25
Giovanni; 31
Jane; 22
Quello è tre linee e voglio contarli, per esempio.
Il modo migliore sarebbe quello di usare qualcosa come:
var count = File.ReadLines("file.txt").Count();
che funzioneranno solo in .NET 4, ma leggerà una sola riga alla volta. Se siete abbastanza felice di caricare l'intero file nella memoria in una sola volta, è possibile utilizzare:
var count = File.ReadAllLines("file.txt").Length;
Si noti che se il file è di grandi dimensioni (o è su un'unità di rete, ecc), questo potrebbe richiedere un lungo tempo, nel qual caso vorresti farlo fuori dal thread dell'interfaccia utente.
Se il file non è troppo grande, si può fare questo:
File.ReadAllLines(filePath).Length;
(questo sarà destinare l'intero file, in modo da assicurarsi le prestazioni non è un problema)
Thnaks per la risposta e ha funzionato, ma ho usato la risposta sopra. –
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;
Dovresti usare C# usando l'istruzione o assicurati di chiamare Dispose sul FileStream –
Oh sì, non ci avevo pensato :-) Scusa – Morten
Dove è EnumerateAllLines definito? –
Ho usato var count = File.ReadAllLines ("file.txt"). Length; e ha funzionato benissimo, grazie mille! –
@Simon: Il mio errore, è File.ReadLines. Ho risolto la risposta. Ancora solo da .NET 4 però. –