Je veux savoir combien de lignes j'ai dans mon fichier. Comment puis-je le faire d'une manière simple (je veux dire, ne pas passer en revue tous les fichiers et compter chaque ligne)? Y a-t-il une commande pour ça?Comptez les lignes de fichier en C#
Répondre
bien:
int lines = File.ReadAllLines(path).Length;
est assez simple, mais pas très efficace pour les fichiers texte énormes. Je serais probablement utiliser un TextReader
dans la plupart des cas, pour éviter tampon excessive:
int lines = 0;
using (TextReader reader = File.OpenText(path)) {
while (reader.ReadLine() != null) { lines++; }
}
réservoirs !!!! Au fait, je l'ai utilisé pour un fichier avec 65500 lignes, donc je pense que ça vaut même pour les fichiers de bogues ... – aharon
Toute « fonction » que vous appelez va faire essentiellement la même chose - aller ligne par ligne et compter le nombre de nouvelle ligne personnages.
Si vous voulez vous faire croire que quelque chose semble plus "crisp", une expression regex pour compter le nombre de caractères de nouvelle ligne ferait l'affaire.
Une fois que vous avez lu le fichier entier - pas vraiment réalisable si c'est gros. Ou vous le faites par ligne ... oh attendez ... ;-) –
Devrions-nous dire à l'OP que cela va encore lire le fichier entier? ;) Je suppose que s'il y avait des métadonnées attachées au fichier qui suivait le nombre de lignes (cela ne s'appliquerait probablement qu'aux fichiers texte) alors vous pourriez juste lire cela. Mais je ne pense pas qu'une telle chose existe. – FrustratedWithFormsDesigner
D'une manière ou d'une autre (Regex, FileStream etc.) quelque chose, quelque part devra passer par les nouvelles lignes.
dépend de la longueur de la ligne ... généralement le moyen le plus rapide est de le faire en utilisant cette formule simple - obtenir la longueur du fichier en octets et divisé par la longueur de la ligne, par exemple:
const int LINE_LENGTH = 80; System.IO.FileInfo f = new System.IO.FileInfo(path); int noLines = f.Length/LINE_LENGTH;
qui précède suppose la longueur de la ligne est une largeur de 80 caractères constants ...
Si la longueur est variable, il n'y a pas d'autre moyen de le faire, en dehors de l'ouverture du fichier et itérer chaque ligne et garder une trace du nombre de lignes.
Edit: Je viens de réaliser un beaucoup plus facile après avoir posté un commentaire ci-dessous .. Ne serait-il pas plus facile à utiliser effectivement l'espace de noms Shell sous System.Diagnostics.Process
d'invoquer grep -c "$(\r?\n?|\n)"
en utilisant un argument que le chemin du fichier en question - cela le rendrait plus flexible et pourrait répondre à n'importe quel dossier. La seule chose que vous avez à faire est lu dans la sortie et regex pour obtenir le nombre réel de lignes, par exemple, en utilisant mon grep qui est venu avec Borland C, je reçois cette sortie
C:\Documents and Settings\Tom>grep -c "$(\r?\n?)" 273.txt File 273.txt: 35 lines match
La sortie et le kilométrage peut varier, la commande -c
passer à grep signifie «nombre de»
Et il suppose un codage ASCII ou UTF8 bas de gamme, plus il ne tient pas compte de la longueur des caractères de nouvelle ligne eux-mêmes. –
la longueur des lignes est vérifiable et longue de 80 caractères. merci quand même .. – aharon
Hey, qui va ouvrir un fichier avec des lignes de + 65k, comptez-les, puis comparez-le aux résultats de ce code? Je dis le mettre là et le changer si quelqu'un soumet un rapport de bogue. – Will
- 1. Comptez le nombre de #defines dans un fichier .c VBS
- 2. MySql: Comptez les lignes dans la fourchette de prix?
- 3. MySQL: comptez les objets groupés?
- 4. Comptez les espaces blancs à gauche d'une ligne dans un fichier texte en utilisant C++
- 5. Mysql - Comptez combien de lignes ont un certain nombre?
- 6. En R, comment comptez-vous les vecteurs de caractères?
- 7. Django. Requête déroutante Comptez les articles
- 8. Supprimer les lignes Gridview en C# 2008
- 9. Comptez le nombre de visiteurs
- 10. Jquery Comptez l'animation?
- 11. supprimer les mêmes lignes du fichier texte par C#
- 12. Connectez-vous à une base de données MySQL et comptez le nombre de lignes
- 13. Comptez sur Zend_Db_Select
- 14. Lire plusieurs lignes d'un fichier dans une chaîne en C
- 15. C# comment compter les lignes dans un fichier texte
- 16. Recherche Vim dans les lignes de code C/C++
- 17. Python - ignore les lignes dans un fichier
- 18. MySQL: Comptez deux choses dans une requête?
- 19. Comptez le nombre de lignes d'une base de données à partir d'une activité située en dehors de l'adaptateur.
- 20. Castle/Active Records: Comment comptez-vous les objets?
- 21. Comptez les fins de semaine entre 2 dates
- 22. Ajouter les lignes précédentes d'un fichier en fonction d'une condition
- 23. Unix outil pour supprimer les lignes en double d'un fichier
- 24. Boucle sur les lignes d'un fichier texte en SML/NJ
- 25. Comment puis-je supprimer les lignes en double d'un fichier?
- 26. Ignorer les lignes de commentaires marquées de «%» en utilisant open() en C sur Linux
- 27. Diviser un gros fichier en fichiers plus petits par le nombre de lignes en C#?
- 28. Analyse de lignes individuelles dans un fichier robots.txt avec C#
- 29. JAVASCRIPT: Comptez le nombre de résultats REGEX
- 30. Comment convertir ces lignes de code c en C++
Partout dans le fichier? Nous parlons de 3 lignes de code pour le compter. –