POO
Projet Filtrage/Compression Page 1
2012 - 2013
DESCRIPTION Le projet consiste à mettre en place un prototype qui permet de réduire la taille d'un fichier texte en utilisant des méthodes de filtrage et/ou de compression. Cela dit, le programme prend le fichier spécifié, exécute la méthode de filtrage/compression correspondante et enregistre des informations liées au résultat dans un fichier log.
Ce projet est composé de trois parties :
1. Passage de paramètres: Il s'agit de permettre à l'utilisateurde spécifier à travers la console,les paramètres suivants:
a. Le chemin du fichier à traiter.
b. La méthode de filtrage/compression à utiliser
Par exemple, pour filtrer le contenu du fichier mon_fichier.txt en supprimant tous les pronoms, il suffit de formuler la commande suivante; filtrer nom_fichier.txt filtre_pronoms
A noter que la technique de filtre_pronoms est supposée être codée/ou intégrée dans votre programme.
2. Développement/Intégration de(s) méthode(s) de filtrage/compression: Il s'agit de développer la/les classes qui permettent de filtrer le contenu du fichier. Ces classes doivent implémenter l'interface IFiltrefournieci-dessous. public interface IFiltre{ public String type(); public String description(); public intfiltrer(File nomFichier); }
Cela dit, toute classe qui implémente IFiltre est un filtre qui permet de filtrer le contenu du fichier nomFichier en utilisant la méthode filtrer. Cette dernière retourne le nombre des termes supprimés /affectés dans le fichier. Par exemple, la classe FPronoms ci-dessous est un exemple de filtre qui permet de supprimer tous les pronoms du fichier.
POO
Projet Filtrage/Compression Page 2
2012 - 2013
public FPronomsimplementsIFiltre{ public String type(){ return "Filtre_Pronoms"; } public String description() { return "Permet de supprimer les pronoms d'un fichier" } public intfiltrer(File nomFichier){ // le code qui permet de supprimer des pronoms } }
A noter vous pouvez développer des méthodes vous-mêmes ou adapter celles qui existent en ajoutant les librairies (fichiers .jar) correspondantes à votre projet.
Par exemple, supposons qu'une librairie qui permet de faire le stemming1 existe déjà sur le WEB sous forme d'un fichier stemmer.jar. Pour l'utiliser, vous devez procéder comme suit:
a. Ajouter cette librairie, stemmer.jar, à votre projet. Cliquez ici pour plus de détails sur l'ajout des librairies externes à Netbeans
b. Coder la classe qui implémente l'interface IFiltreet importer les fonctionnalités de la librairie ainsi ajoutée (le code en gras ci-dessous est un exemple). import org.com.word.Stemming; public Stemmer implements IFiltre{ public String type(){ return "Stemmer"; } public String description() { return "Transforme le nom" } public intfiltrer(File nomFichier){ Stemming s = new Stemming (); //lire le contenu du fichier s.stem(contenu_fichier); //retourner le nombre des termes affectés (si //possible) } }
3. Enregistrement des informations: vous devez enregistrer l'historique des commandes exécutées par l'utilisateur dans un fichier log. Ainsi, après chaque opération de filtrage, il s'agit d'enregistrer les informations suivantes :
1Transformer un mot en sa racine. Par exemple, le mot chercher devient cherch après une opération de stemming
POO
Projet Filtrage/Compression Page 3
2012 - 2013
a. Nom du fichier
b. Nom du filtre
c. Description du filtre
d. Nombre de termes supprimés/affectés
e. Tailles du fichier avant et après le filtrage.