Lire le nombre d'occurence d'une chaine sur un fichier

Signaler
-
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
-
Bonjour,
J'ai un fichier qui fait 10 millions de lignes et je vais compter le nombre d'occurence d'une chaîne sans parcourir toutes les lignes le prof il veut pas qu'on parcoure toutes les lignes sa sera du temps perdu selon lui

12 réponses

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
306
Salut,

Je te conseil de consulter ceci, mais le fichier sera parcouru de toute façon : http://docs.oracle.com/javase/1.4.2/docs/guide/nio/example/Grep.java

et 10 millions de lignes, c'est trop gros et souvent inexploitable pour un fichier texte.
merci pour la réponse !!!
mais ce code fais exactement la même chose que le mien, je cherche à avoir l'occurence sans parcourir les 10 millions de ligne
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
306
Tu ne peux pas, les lignes seront parcourues d'une facon ou d'une autre.
Messages postés
16065
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 octobre 2020
100
Tu es forcément obligé de lire le fichier au moins une fois, sinon tu ne pourras jamais en connaître le contenu.
Par contre il n'est pas nécessaire de conserver son contenu en mémoire pour faire le traitement : tu lis une ligne et tu l'oublie immédiatement après. Je pense que c'est ça qu'a voulu dire ton prof...
Tu m'as donné une idée comme je dois chercher plusieurs dedans autant la lire une fois au lieu de la lire nfois
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
306
Je ne suis pas certain de comprendre : tu as plusieurs motifs différents à récupérer dans ton fichier ?
J'ai 40320 motif à compter leur occurrences dans un fichier de 10 millions de lignes pour être plus précis je dois compter le nombre d'occurence a de chacun de ses motifs
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
306
Ok, dans ce cas :
tu lis le fichier ligne à ligne et pour chaque ligne, tu testes les 40320 motifs.

En fait, tu lis une fois le fichier et pas 40320 fois.

Mais c'est quoi cet exercice ?
On doit implanter l'algo de Kemeny c'est un rangement de candidat à une élection, où on peut avoir 8 candidats et 10 millions de votant il faut sortir le meilleur rangements avec les 8 candidats donc 8! =40320 le meilleur rangement parmis ces 40320
Messages postés
16065
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 octobre 2020
100
Je ne connais pas cet algorithme de Kemeny, mais si j'ai bien compris, tu n'as pas besoin de tes 10 millions de lignes pour utiliser ton algorithme, le nombre d'occurrence de chacune des 40320 combinaisons devraient suffire.

Donc tu lis une fois ton fichier pour compter les combinaisons, puis tu enregistres les résultats afin de les utiliser ensuite par ton algorithme de Kemeny.
En gros sa rejoint mon idée le fichier je le lis qu'une fois alors merci y'aura pas de solution miracle pour moi !!
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
306
Oui, c'est ca :)