IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

Créer des répertoires en boucle à partir d'un JTextArea


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 3
    Par défaut Créer des répertoires en boucle à partir d'un JTextArea
    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.

  2. #2
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    2 idées en passant :
    - Deja, mkdir renvoie un boolean qui indique s'il a reussi. Ce serait bien de voir ce qu'il renvoie pour etre sur que la création a bien échoué.
    - Ensuite, peut etre qu'il manque au moins 1 repertoire parent de celui que tu essayes de créer. Dans ce cas, mkdir echoue. Il faut utiliser mkdirs.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 3
    Par défaut
    Oui elle renvoie vrai uniquement pour le dossier du dernier tour de boucle...

    Pour ce qui est du dossier parent il a bien été créé, quand je me rend au répertoire de destination j'ai bien mon dossier principal (parent) + uniquement un seul dossier portant le nom de la dernière ligne du JTA. Donc ce n'est pas le mkdirs() (j'ai essayé les deux de toute façon)

    Franchement je sèche là

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 3
    Par défaut
    Mon soucis est résolu, cela était du à des caractères illégaux passé en paramètre d'un File ici le retour charriot "\n" qui était généré par le JTextArea à chaque passage à la ligne...!

    J'ai donc simplement rajouté lign = lign.replace('\n', ''); juste après l'avoir récupérer la String histoire de shunter le "\n" illégal et pouvoir créer chaque dossier correctement, en effet à chaque fois seul le dernier dossier était bon puisque je ne faisais pas de retour à la ligne!!

    Voilà merci pour l'aide quand même!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. créer des répertoire dans un ftp
    Par debutantasp dans le forum IIS
    Réponses: 3
    Dernier message: 04/06/2008, 16h17
  2. C++ windows créer des répertoires
    Par pascale_92 dans le forum C++
    Réponses: 4
    Dernier message: 01/03/2008, 23h23
  3. Réponses: 3
    Dernier message: 27/11/2006, 06h05
  4. [Reporting] Comment créer des états Crystal Report à partir de VB6 ?
    Par Le Pharaon dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 22/09/2006, 14h20
  5. Réponses: 4
    Dernier message: 05/07/2006, 15h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo