Bonjour,

j'aimerai avoir une aide concernant le filtrage de fichiers. J'ai écrit un filtre permettant de n'afficher que les fichiers contenant le terme "jour". Un exemple de nom complet est :
Stats jour PHL CSD_061807_171503_sgacthr
061807 donne la date correspondant au fichier.
L'aide que j'aimerai avoir est la suivante.
Lorsque je lance mon programme, une boite de dialogue apparait me demandant d'entrer une date.
Je tape : 061807
je souhaiterai que le fichier correspondant à cette date soit selectionner mais je ne sais pas trop comment m'y prendre.
J'ai pensé crée un constructeur qui prendrait un String représentant la date en parametre mais ensuite, je ne sais pas
comment faire pour utiliser la méthode accept car c'est elle qui permet de faire le filtre.
Auriez-vous une solution à me soumettre.

Merci

Voici ce que j'ai codé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import java.io.File;  
import javax.swing.*;
import javax.swing.filechooser.*;
 
public class FilterJour extends FileFilter{
	//Description et extension acceptée par le filtre
	private String description;
	private String extension;
 
	public FilterJour(){}
 
	public FilterJour(String date){
 
	}
 
	//Constructeur à partir de la description et de l'extension acceptée
	public FilterJour(String description, String extension){
		if(description == null || extension ==null){
			throw new NullPointerException("La description (ou extension) ne peut être null.");	
		}
		this.description = description;
		this.extension = extension;
	}
 
	//Implémentation de FileFilter
	public boolean accept(File file){
		if(file.isDirectory()) { 
			return true; 
		} 
		String nomFichier = file.getName().toLowerCase(); 
		String regex = "(.)*(jour)(.)*";
		return nomFichier.endsWith(extension) &&  nomFichier.matches(regex);
	}
 
	public String getDescription(){
		return description;
	}
 
	public File[] getFiles(){	
		File [] files = null;
		FilterJour csv = new FilterJour("Fichiers CSV",".csv");
		JFileChooser chooser = new JFileChooser(".");
		chooser.addChoosableFileFilter(csv);
		chooser.setMultiSelectionEnabled(true) ;
    int retour = chooser.showOpenDialog(null);
    if(retour == JFileChooser.APPROVE_OPTION) {
    	// des fichiers ont été choisis
    	files = chooser.getSelectedFiles();
    }
    return files;
	}
}