# lecture fichier texte en java avec JFileChoose



## makin_toch (28 Mars 2009)

Bonjour,
J'ai ce code java qui permet de lire un fichier texte (depuis son chemin déclarer dans le code ) puis l'afficher dans une zone texte d'une interface graphique.
Comment implémenter JFileChoose pour choisir le fichier à lire?
Priére de m'aider, je suis debutant en java


*code de lecture:*

```
private void OK(java.awt.event.ActionEvent evt) {                      
    // TODO add your handling code here:
    String chaine="";
        String fichier ="d:/fich.txt";
        
        //lecture du fichier texte    
        try{
            InputStream ips=new FileInputStream(fichier); 
            InputStreamReader ipsr=new InputStreamReader(ips);
            BufferedReader br=new BufferedReader(ipsr);
            String ligne;
            while ((ligne=br.readLine())!=null){
                System.out.println(ligne);
                chaine+=ligne+"\n";
            }
            br.close(); 
                 text.setText(chaine);       
                        
        }        
        catch (Exception e){
            System.out.println(e.toString());
        }
    
}
```
*code JFileChoose:* 

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) 
	
	



```
{                                         
    // TODO add your handling code here:
  String currentDir=".";
 String destination;
 File selected;
 JFileChooser chooser = new JFileChooser();
 chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
 File fdir = new File(currentDir);
 chooser.setCurrentDirectory(fdir);
 if(chooser.showDialog(this,"Choisir") == JFileChooser.APPROVE_OPTION) {
 selected = chooser.getSelectedFile();
 destination = new String(selected.getParent() + File.separatorChar + selected.getName());
 currentDir = selected.getParent();
 String s= lireFichier(destination);
 jTextArea1.setText(s);
 }
}
```
merci d'avance


----------



## OlivierL (31 Mars 2009)

http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFileChooser.html



```
public void maMethode(Controleur controleur, JFrame conteneur, int action, String[] extensions, Object[] objects) {

        JFileChooser chooser = new JFileChooser(controleur.getLastDirectoryParent());
        chooser.setMultiSelectionEnabled(true);
        
        chooser.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent event){
                return;
            }
        });

        FileFilter txtFilter = new GenericFileFilter("txt");
        FileFilter xmlFilter = new GenericFileFilter("xml");
        
        chooser.addChoosableFileFilter(txtFilter);
        if (isModeXml()) {
            chooser.addChoosableFileFilter(xmlFilter);
        }
        int choix = chooser.showOpenDialog(conteneur);
        if (choix == JFileChooser.APPROVE_OPTION) {
//            File file = chooser.getSelectedFile();
            File[] files = chooser.getSelectedFiles();
            logger.debug("Opening files...");
            // Ajouter ton code pour consommer 'files'
        } else {
            logger.debug("Open command cancelled by user.");
            
        }
    }
```


----------

