Collection de films à partir d'un fichier

Contenu du snippet

Voila un code source trés simple permettant la lecture d'un fichier de type *.txt
Tout dans une seule classe.

Le code parcours le fichier texte et fait un simple test d'équivalence cela permet ainsi de savoir si la chaine
recherchée est présente dans le fichier...

Bien sur le code ne fonctionnne qu'avec un fichier texte présent ds le meme repertoire ke le jar...

Source / Exemple :


import java.io.File;
import java.io.IOException;
import java.util.Locale;
import java.util.Scanner;
import javax.swing.JOptionPane;

public class Appli {
	
	private String film;
	private boolean fin;
	private String lign;
	private int rep;
	
	//"deroulement general" du programme placé dans le constructeur
	public Appli(){
		do
		{	
			film=JOptionPane.showInputDialog(null,"FILM RECHERCHE ??");
			if( comparaisonID("Films.txt") == true ){  
				JOptionPane.showMessageDialog(null,film+" est présent dans la collection");
			}
			else{
				JOptionPane.showMessageDialog(null,film+" ne fait pas partie de la collection ...  ");
			}
			rep=JOptionPane.showConfirmDialog(null,"Encore une recherche ?"); //on place dans rep la valeur de la reponse
																			  //0=oui ; 1=non ; 2=annuler
		}
		while(rep==0);
	}
	
	//methode pour la recherche du film dans le fichier
	//compare le retour de saisieID() aux lignes du fichier
	//probleme:La syntaxe doit etre exactement identique =>>trouver quelquechose !!!
	public boolean comparaisonID(String nomFichier){
		File fichierTextALire = new File(nomFichier);
		try {
			// On lie l'objet source à l'objet fichierTextALire
			Scanner source = new Scanner(fichierTextALire);           
			// on précise que le séparateur décimal est le point (.)
			source.useLocale(Locale.US);
	           
			fin=false;
			// Lecture de toutes les lignes du fichier
			while(source.hasNext() && fin==false){   
	           lign=source.nextLine();
	 
	           if(lign.equalsIgnoreCase(film)){
	        	   fin=true;
	           }
	        }      
			//Fermeture de la source -> fichier "Films.txt"
	        source.close();
	    }
	    catch( IOException exception) {
	        System.out.println("Erreur Traitement fichier: " + exception);
	    }
		return fin; //retourne l'état de la recherche
	}
	
	//point d'entrée du programme
	public static void main(String[] args) {
		new Appli();
	}
}//FIN DU PROGRAMME

Conclusion :


Donnez votre avis et vos idees d'améliorations ...

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.