Récupérer les path des fichier dans une répertoire en java

Fermé
hamdi_b Messages postés 1 Date d'inscription mercredi 2 mars 2016 Statut Membre Dernière intervention 2 mars 2016 - Modifié par KX le 2/03/2016 à 20:29
greg6614 Messages postés 592 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 3 juin 2017 - 4 mars 2016 à 18:59
Bonjour,
je voulais afficher les paths de de tous les fichier dans une répertoire , j'ai arrivé à les afficher ssi que cette répertoire ne contient pas des dossier
si quelqu'un connaitre une solution pour afficher tous les paths des fichiers dans un dossier
JFileChooser fc = new JFileChooser();
 
 public void actionPerformed (ActionEvent e){
  fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
  int retour=fc.showOpenDialog(getParent());
  DefaultListModel model = new DefaultListModel(); 
  JList list = new JList(model);
  if (retour==JFileChooser.APPROVE_OPTION){
  
  fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
  File selectedDir = fc.getSelectedFile();
  
  if ( !selectedDir.isDirectory() ) {String b=selectedDir.getAbsolutePath();pathtxt.setText(b);}
  else {File[] files=selectedDir.listFiles();
  for(i=0;i<files.length;i++){if (!files[i].isDirectory()){model.addElement(files[i].getPath()  ); 
  
  
  } 
  
  }
  JOptionPane.showMessageDialog(null,list );
A voir également:

1 réponse

greg6614 Messages postés 592 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 3 juin 2017 107
4 mars 2016 à 18:59
Salut, rapidement voici comment faire de maniére récursive ou non :

import java.io.File;

import javax.swing.JFileChooser;

public class ExampleListFiles {

	public static void main(String[] args){
		JFileChooser fc = new JFileChooser();
		fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
		int open = fc.showOpenDialog(null);
		if (open == JFileChooser.APPROVE_OPTION){
			String selectedFile = fc.getSelectedFile().getAbsolutePath();
			System.out.println("# Liste des fichiers et dossier de " + selectedFile + " #");
			listFiles(selectedFile);
			System.out.println("# Liste récursive des fichiers et dossier de " + selectedFile + " #");
			listFilesRecursively(selectedFile);
		}
	}

	public static void listFiles(String path){
		File f = new File(path);
		if (f.isDirectory()){
			File[] tab = f.listFiles();
			for (int i = 0; i != tab.length; i++){
				System.out.println(tab[i].getAbsolutePath());
			}
		}
	}

	public static void listFilesRecursively(String path){
		File f = new File(path);
		if (f.isDirectory()){
			File[] tab = f.listFiles();
			for (int i = 0; i != tab.length; i++){
				System.out.println(tab[i].getAbsolutePath());
				if (tab[i].isDirectory()){
					listFilesRecursively(tab[i].getAbsolutePath());
				}
			}
		}
	}
}


Si tu as des questions je peux t"expliciter le code, je l'ai codé rapidement il n'est donc pas commenté.
0