Choisir un fichier

Résolu/Fermé
Vitaldix Messages postés 116 Date d'inscription vendredi 9 novembre 2012 Statut Membre Dernière intervention 18 août 2013 - 11 mars 2013 à 16:53
Vitaldix Messages postés 116 Date d'inscription vendredi 9 novembre 2012 Statut Membre Dernière intervention 18 août 2013 - 11 mars 2013 à 20:48
Salut !
Alors voilà j'ai un ptit problème ! j'aimerai que mon programme demande à l'utilisateur de choisir un fichier, l'utilisateur peut choisir le fichier qu'il veut, et le programme récupère ce qu'il y a dans ce fichier.

J'ai ça :
File file = new File("emplacement_fichier");
Scanner sc = new Scanner(file);


qui fonctionne à merveille mais bien sûr ça ne fonctionne que pour le fichier placé à cet endroit.

J'ai aussi trouvé ça :
FileSystemView vueSysteme = FileSystemView.getFileSystemView();
//récupération des répertoires
File defaut = vueSysteme.getDefaultDirectory();
File home = vueSysteme.getHomeDirectory();
//création et affichage des JFileChooser
JFileChooser defautChooser = new JFileChooser(defaut);
defautChooser.showOpenDialog(null);
JFileChooser homeChooser = new JFileChooser(home);
homeChooser.showOpenDialog(null);


Là je peux bien me balader dans mes répertoires, je peux sélectionner le fichier que je veux, sauf qu'il ne se passe rien ! J'ai l'impression que je ne peux pas récupérer mon fichier !

J'ai essayé de bidouiller des trucs, faire un mixe entre ces deux morceaux de codes mais rien ne va, vous pouvez me débloquer ?

Merci !

1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
11 mars 2013 à 18:32
Les JFileChooser ne font que le choix d'un (ou plusieurs) fichier (et/ou répertoires) pour la lecture (ou l'écriture), mais une fois les fichiers choisis c'est à toi de faire le traitement.

Voir : How to Use File Choosers

JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);

if (chooser.showOpenDialog(null)==JFileChooser.APPROVE_OPTION)
{
    File[] files = chooser.getSelectedFiles();
    ...
}
1
Vitaldix Messages postés 116 Date d'inscription vendredi 9 novembre 2012 Statut Membre Dernière intervention 18 août 2013 6
11 mars 2013 à 19:57
Je n'arrive pas à effectuer le traitement avec un Scanner !
Scanner sc = new Scanner(files);
ne fonctionne pas.
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
11 mars 2013 à 20:02
C'est parce que "files" est un tableau, pas un fichier !
Il contient tous les fichiers sélectionnés, il faut donc traiter les fichiers un par un avec ton Scanner.

File[] files = chooser.getSelectedFiles();
for (File file : files)
{
    Scanner sc = new Scanner(file);
    ...
    sc.close();
}
0