Ouverture d'un dossier

Résolu
Ireon Messages postés 28 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 25 juillet 2012 - 17 juil. 2012 à 13:49
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 - 25 juil. 2012 à 10:56
Bonjour,

je suis actuellement en stage, on m'a donner l'interface du DVD de l'entreprise à refaire.
J'ai déjà fait la fenêtre, le menu, et les ActionListener des boutons.

Mais voila, petit problème sur un des Listener, je voudrais ouvrir un dossier mais ça ne marche pas... aucune erreur de compilation mais lorsque je clic sur le bouton censé ouvrir ce dossier, j'ai le message d'erreur suivant :
Erreur d'ouverture:java.io.FileNotFoundException: C:\Users\Thomas\Desktop\DVD 3A INFORMATIQUE (Accès refusé)


J'utilise la méthode suivante :
if(source == jButton3){
BufferedReader BR = null;
try {
BR = new BufferedReader(new FileReader("C://Users//Thomas//Desktop//DVD 3A INFORMATIQUE"));
}
catch (Exception exc) {
            System.out.println("Erreur d'ouverture:"+exc);
}
        }


Si quelqu'un pouvait m'éclairer sur ce problème, merci :)

46 réponses

cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
25 juil. 2012 à 08:58
Je ne sais pas ce que tu as essayé, au juste mais en remplaçant le code :
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }

par :

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

J'obtiens ça :
3
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
25 juil. 2012 à 09:04
Puis, si tu veux lancer le logiciel sélectionné tu peux remplacer ça :
if (option == JFileChooser.APPROVE_OPTION) {
jfc.getSelectedFile();
}

par ça :
if (option == JFileChooser.APPROVE_OPTION) {

String path = jfc.getSelectedFile().getPath();
try {
Runtime.getRuntime().exec(path);
} catch (IOException ioException) {
ioException.printStackTrace();
}

}


Je te le donne tout cru parce que ça me fatigue un peu à la longue.
3
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
17 juil. 2012 à 13:53
Bonjour,

Le fichier n'existe pas ou est verrouillé par des droits.
Il est toujours risqué de mettre un chemin en dur dans les applications.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
0
Ireon Messages postés 28 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 25 juillet 2012
17 juil. 2012 à 13:58
Merci pour ta réponse ultra-rapide !!

Le dossier existe bien, il est sur mon bureau, mais qu'entend tu par :
est verrouillé par des droits.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ireon Messages postés 28 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 25 juillet 2012
17 juil. 2012 à 14:00
Je suis en admin sur mon pc, j'ai bien tous les autorisations sur ce fichier sauf erreur de ma part :/
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
17 juil. 2012 à 18:30
Bonjour,

Tu parles de dossier, mais FileReader, ouvre un fichier, je pense.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
17 juil. 2012 à 21:35
Salut,

On ouvre pas un dossier, on le liste ^^' et ensuite on ouvre les fichiers (ou pas)


-----

"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
Utilisateur anonyme
18 juil. 2012 à 00:02
Salut,

Y'a un truc que je pige pas, et je crois que ça rejoint ce qu'a dit Twinuts. Ton DVD 3A INFORMATIQUE, c'est un dossier ou un fichier ? Car "ouvrir" un dossier avec un FileReader risque de coincer, car les FileReader sont bons pour les... fichiers.

Tu cherches à faire quoi exactement avec ton dossier ?


--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
0
Ireon Messages postés 28 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 25 juillet 2012
18 juil. 2012 à 08:01
Salut,

en faite, il s'agit d'un dossier comprenant plusieurs install de logiciels.
Le but étant que le client puisse naviguer sur ce dossier comprenant plusieurs fichiers comprenant eux même les intalls.

Au vu de vos réponse, il faut peut être que je fasse un JFileChooser c'est ça ?
0
Ireon Messages postés 28 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 25 juillet 2012
18 juil. 2012 à 08:20
Hmm quoi que, jFileChooser, j'ai comme l'impression que s'est aussi pour des fichiers

Sur l'ancien DVD, le précédent stagiaire avez fait en sorte que quand on clique sur le bouton censé ouvrir le dossier, on soit redirigé vers une page Web avec une "liste", enfin une arborescence quoi..

Je vais devenir fou
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
18 juil. 2012 à 08:23
Salut,

Tu peux toujours coder assez simplement un truc qui fait la même chose ô_O


-----

"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
Ireon Messages postés 28 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 25 juillet 2012
18 juil. 2012 à 08:50
c.a.d ?
Toujours avec du code Java, ou un truc du style php avec un bouton java qui pointe sur la page ?
0
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
18 juil. 2012 à 09:11
Hmm quoi que, jFileChooser, j'ai comme l'impression que s'est aussi pour des fichiers

Le JFileChooser permet aussi de sélectionner un dossier :
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
0
Ireon Messages postés 28 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 25 juillet 2012
18 juil. 2012 à 09:16
Ah d'accord, bon je vais essayer de faire avec ça alors !
Merci.
0
Ireon Messages postés 28 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 25 juillet 2012
18 juil. 2012 à 09:32
Alors, j'ai essayer de faire un jFileChooser vite fait mais le problème c'est que quand je clique sur le bouton, rien ne se passe.
if(source == jButton3){
JFileChooser choix = new JFileChooser();
    choix.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        choix.setCurrentDirectory(new File("C:/Users/Thomas/Desktop/DVD 3A INFORMATIQUE/200 logiciels"));
        }


J'ai créer le JFileChooser directement dans ma class ActionPerformed, je me pose donc la question suivante : ne faut il pas faire une class jFileChooser et l'appeler dans ma class ActionPerformed ?
0
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
18 juil. 2012 à 09:39
Tu as simplement oublier de mettre le code :

int option = choix.showOpenDialog(null);

if (option == JFileChooser.APPROVE_OPTION) {
File se = jfc.getSelectedFile();
...
}


J'ai créer le JFileChooser directement dans ma class ActionPerformed, je me pose donc la question suivante : ne faut il pas faire une class jFileChooser et l'appeler dans ma class ActionPerformed ?

Tu confonds classe et instance. Mais en effet, c'est en général mieux d'instancier un seul JFileChooser = plus performant et souvent plus pratique pour l'utilisateur.
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
18 juil. 2012 à 09:39
Salut,

Je te conseils vivement la lecture de ce tutos: ICI


-----

"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
Ireon Messages postés 28 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 25 juillet 2012
18 juil. 2012 à 09:54
Merci mais l'anglais et moi ça ne fait pas bon ménage
En faite, c'est pas une interface aussi complexe ( au vu de ce que j'ai pu comprendre ) que je voudrais, trop de boutons, de champ de texte, enfin...

Je voudrais juste un truc hyper simple, une arbo avec QUE les fichiers/sous-fichiers de mon dossier " 200 logiciels ".

Je pense que la solution la plus simple pour faire cela serait de construire l'arbo en php et d'ouvrir cette arbo avec un bouton.

( comme je les déjà fait avec un autre bouton pour un site Web ) :
if(source == jButton4)
BrowserControl.displayURL("http://www.3a-informatique.com");


Est-ce faisable svp ?
0
Ireon Messages postés 28 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 25 juillet 2012
18 juil. 2012 à 10:53
Merci jojolemariole, j'ai bien rajouter ton codes mais j'ai 2 erreurs, un sur choix, et l'autre sur jfc.
if(source == jButton3){
int option = choix.showOpenDialog(null);

if (option == JFileChooser.APPROVE_OPTION) {
File se = jfc.getSelectedFile();

JFileChooser choix = new JFileChooser();
    choix.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        choix.setCurrentDirectory(new File("C:/Users/Thomas/Desktop/DVD 3A INFORMATIQUE/200 logiciels"));
}
        }


Je les surement mal placer, je nage complètement la
0
Ireon Messages postés 28 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 25 juillet 2012
18 juil. 2012 à 11:44
C'était bien une erreur de placement...
if(source == jButton3){

JFileChooser choix = new JFileChooser();
    choix.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        choix.setCurrentDirectory(new File("C:/Users/Thomas/Desktop/DVD 3A INFORMATIQUE/200 logiciels"));
int option = choix.showOpenDialog(null);
        
if (option == JFileChooser.APPROVE_OPTION) {
JFileChooser jfc = null;
File se = jfc.getSelectedFile();	
}
        }  


Je n'est pas la simple fenêtre que j'attendais mais faute de mieux !!
J'aurais une dernière question avant de verrouiller le sujet svp :
Je peux effectivement naviguer dans mon dossier mais je ne vois nul par les appli .exe qui sont dedans, serait ce à cause du : JFileChooser jfc = null;
0
Rejoignez-nous