Bonjour à tous je suis tout nouveau sur ce forum,
Bon voilà je souhaite créer un programme dans lequel je saisie des nom de dossiers(répertoires) dans un JTextArea jusque là tout va bien mais ensuite je souhaite après avoir récupéré chaque ligne du JTA créer un répertoire pour chacune de ces lignes récupérées.
Pour y arriver j'ai bien sûr fait une boucle qui traite chaque ligne ET qui devrait normalement créer un dossier pour chaque ligne grâce à la fonction mkdir().
SAUF que chaque ligne est bien récupérée à chaque tour de boucle et qu'il me créé les bons répertoires avec le bon chemin (je fais un println qui m'affiche les noms dans la console pour vérifier), mais finalement quand je me rends dans mon répertoire de destination, seul le dernier dossier de la boucle est créé comme si à chaque tour de boucle l'ancien dossier avait écrasé.
Pour tenter d'y remédier j'ai donc pensé à faire une ArrayList de File dans laquelle j'insère à chaque lecture de ligne le new File avec le chemin concaténé de la ligne récupérée dans le JTextArea.
Ensuite je fais une autre boucle qui cette fois sert à ressortir chaque index de mon ArrayList et de créer un nouveau dossier: liste.get(index_recuperé).mkdir();
--> Même résultat seul le dossier du dernier tour de boucle est créé!
Je vous fournir mon code
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 String lign; ArrayList<File> list = new ArrayList<File>(); //boucle qui parcoure et récupère chaque ligne du JTA for (int i = 0; i < jta.getLineCount(); i++) { try { int lineStartOffset = jta.getLineStartOffset(i); //on met dans lign la ligne du JTextArea lign = jta.getText(lineStartOffset, jta.getLineEndOffset(i) - lineStartOffset); //sert à numeroté le dossier int a=i+1; System.out.println(lign); File dirXX = new File(parent+"/0"+a+" - Dossier n°"+a+" "+lign); list.add(dirXX); } catch (BadLocationException ex) { ex.printStackTrace(); } //Autre boucle qui parcoure la ArrayListe contenant for(int o = 0; o < list.size(); o++) { System.out.println(list.get(o)); //on créée un répertoire avec le file contenu dans la liste list.get(o).mkdir(); } }
Voilà je suis vraiment perdu j'ai tout retourné et bidouillé mais je ne vois vraiment pas comment arriver à créer TOUT les dossiers
Je pense être près de la solution mais je me retourne vers vous pour tenter de m'aider.
J'ai peut être raté quelque chose??
Merci d'avance.
Partager