Indexer un fichier HELP SVP!!

yassine1233 Messages postés 2 Date d'inscription samedi 30 avril 2005 Statut Membre Dernière intervention 6 janvier 2007 - 22 déc. 2006 à 13:36
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 22 déc. 2006 à 14:50
Bonjour tout le monde!je voudrais bien de l'aide svp je suis en galère là!!!
Je suis nouveau en programmation java et je veux réaliser un programme qui crée un index à partir d'un ficher texte et qui permet de faire des requêtes simples de recherche de mots.
Le programme doit se lancer avec la commande suivante:
java MiniLex index [-minlength length] fichier.txt
Cette commande permet de créer un index à partir du fichier fichier.txt. Un index est un objet d'une classe Index. Un objet de cette classe contient une map de type SortedMap<String,TreeSet>. dont les clés sont les mots apparaissant au moins une fois dans le fichier texte et les valeurs associées sont des collections ordonnées contenant les numéros des lignes dans laquelle le mot apparaît. L'objet est sérialisé dans un fichier appelé fichier.txt.idx. L'option -minlength length indique le nombre de lettres minimum du mot pour qu'il appartienne à l'index.
Merci de me proposer des solutions car je suis bloqué là

<!-- / message -->

3 réponses

super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
22 déc. 2006 à 14:08
Yopla,

bon normalement on essaye de donner un probleme sur un sujet précis.
Néanmoins Noel arrivant a grand pas, une ame génreuse peux te mettre sur la voie !! ;)
En gros, t ouvre ton fichier (y a plein d exemple de code de partout), tu lit ton fichier avec un StringTokenizer (readLine), à chaque ligne tu incrémente un index qui te permet de savoir le numéro de la ligne.
Pour String récupérée (qui correspond a la ligne) tu fais un split(" "), ca te permet de séparer l ensemble des mots de ta ligne suivant l espace (si t as d autres caracteres possibles de séparation va faire un tour du coté des expressions réugliere.
Apres pour chacun des mots récup avec ton Split (t as un tableau de String) tu regarde s il est dans ta map.
Si oui, tu récupere la collection (qui est la valeur) via la clé de ta map (qui correspond a ton mot trouvé) et tu rajoute dans la collection la ligne ou t en est .
Si c est pas le cas tu ajoute en clé le mot trouvé et en valeur tu crée une collection ou t aura ajouté le 1er mot de la ligne.
A la fin tu parcours ta map et tu vire toutes les paires/clé valeurs donc la valeur (ta collection) a une taille inférieure a ton minlength !!

Voili voilou, ton algo est torché apres si c est une question de code vas y pas a pas et pose des questions plus précises.

Noyeux Joel
++ Toinou
0
yassine1233 Messages postés 2 Date d'inscription samedi 30 avril 2005 Statut Membre Dernière intervention 6 janvier 2007
22 déc. 2006 à 14:45
Merci beaucoup je vais essayer de faire ceci dans un premier temps et je vais voir ou est ce que ca va m'emener et je te contacterai si j'ai tjrs un probleme!
joyeux Noel
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
22 déc. 2006 à 14:50
Salut,

[auteurdetail.aspx?ID=283222 super_toinou]> tu es trop bon en cette période de fête qui approche :D (ouais je sais je sais je flood encore avec des messages qui ne servent à rien mais j'y peux rien j'aime ca)

Bonne fêtes à tous

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
0
Rejoignez-nous