Comment pouvons-nous déterminer le nombre de lignes dans un fichier texte?
Salut à tous j'ai un local fichier qui ressemble à ceci:
AAA Anaa
AAC EL-ARISH
AAE Annaba
AAF APALACHICOLA MUNI AIRPORT
AAG ARAPOTI
AAL Aalborg Airport
AAM Mala Mala
AAN Al Ain
AAQ Anapa
AAR Aarhus Tirstrup Airport
AAT Altay
AAX Araxa
AAY Al Ghaydah
...
Tutoriels Java suggère d'estimer le nombre de lignes dans un fichier java.io.Fichier.length
et en divisant le résultat par 50.
Mais n'est-il pas plus "solides" de façon à obtenir le nombre de lignes dans un fichier texte (encore sans avoir à payer pour les frais généraux de lire tout le fichier)?
Vous devez vous connecter pour publier un commentaire.
L'avantage de l'algorithme d'estimation que vous avez est que c'est très rapide: un
stat(2)
appel, puis une division. Il va prendre le même laps de temps et de mémoire, peu importe comment grand ou petit le fichier est. Mais c'est aussi très mal sur un grand nombre d'entrées.Probablement la meilleure façon d'obtenir le nombre précis est fait pour lire l'intégralité du fichier à la recherche pour
'\n'
caractères. Si vous lisez le fichier en binaire volumineux blocs (pensez à 16384 octets ou une plus grande puissance de deux) et de regarder pour les octets qui vous intéresse, il peut aller à quelque chose qui se rapproche le disque e /s de bande passante.\n
caractères'\n'
pour vous, ce qui est une excellente idée.Tu ne peux pas lire le fichier avec un
FileReader
et de compter le nombre de lignes à lire?\n
le caractère serait plus rapide que de faire readLines (comme sarnold suggéré) ?Vous devez utiliser
BufferedReader
et uncounter
qui incrémenter la valeur 1 pour chaque readLine().