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

Entrée/Sortie Java Discussion :

Déplacer un répertoire en java


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 64
    Par défaut Déplacer un répertoire en java
    Bonjour
    j'aimerai savoir comment on fait pour déplacer un dossier (qui contient déja des sous dossiers) vers un autre endroit en java

    merci de votre aide

  2. #2
    Membre Expert
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 094
    Par défaut Malheureusement je crains qu'il n'y ait pas de réponse.
    Bonjour,

    En effet, je ne crois pas qu'il existe de méthode magique du genre copy(source, destination) dans l'ensemble des classes java standard qui permettent d'accéder au système de fichier. Que ce soit par l'objet File, ou par JFileChooser, le déplacement n'existe pas. Il faut copier la source vers sa nouvelle destination, puis supprimer la source après évidement s'être assuré d'avoir tout copié. De plus, il sera de la charge de votre code d'introspecter le contenu du dossier à déplacer pour réaliser la construction identique de l'arborescence qu'il pourrait contenir avant de copier aux bons endroits fichiers par fichiers...
    Dans ce cas, je penses que si vous prenez soin d'examiner le type de platteforme système hôte, rien ne vous empêche par le biais de Runtime.getRuntime().exec("ligne de commande") de réaliser ce genre d'opération. Sous windows, il vous suffira de faire un move cheminsource chemindestination. Sinon, il faut coder...
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  3. #3
    vic
    vic est déconnecté
    Membre chevronné

    Profil pro
    Inscrit en
    Août 2002
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 431
    Par défaut
    Si, il existe bien une méthode pour déplacer un répertoire, c'est renameTo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    File origine = new File( "C:\\repertoire_depart" );
    File destination = new File("C:\\repertoire_arrivee");
     
    if(origine.renameTo( destination ))
        System.out.println("OK");
    else
        System.out.println("Erreur");
    Attention cependant cette méthode ne marche que si on reste sur la même partition. Pour déplacer d'une partition sur l'autre, il faut faire une copie complète récursive du répertoire (comme le fait l'OS).

  4. #4
    Membre Expert
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 094
    Par défaut On en apprend tous les jours.
    Merci, je ne connaissais pas renameTo. Mais c'est éffectivement dommage de ne pas pouvoir avoir une cible et une source sur différents systèmes de fichiers. Dans ce cas, ne serait-il pas interressant d'utiliser le format jar pour créer un fichier qui contiendrait tout le dossier source, puis déployer le jar obtenu sur une autre partition et enfin, après avoir vérifié supprimé le dossier source ?
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  5. #5
    vic
    vic est déconnecté
    Membre chevronné

    Profil pro
    Inscrit en
    Août 2002
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 431
    Par défaut
    Je pense qu'on perdrait du temps. En effet il faudrait déployer le jar, donc créer les fichiers comme si on les avait copiés directement. De plus si le répertoire source est très volumineux la création du jar sera coûteuse. Enfin, il faudrait disposer d'un espace disponible équivalent à la taille du répertoire pour stocker le jar temporairement, ce qui n'est pas nécessaire si on copie directement.

    Le jar est intéressant pour transférer entre 2 machines par exemple, mais sur la même machine le facteur limitant est la vitesse des disques, pas le transfert.

  6. #6
    Membre Expert
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Par défaut
    Bonjour,

    sinon il existe des bibliothèques spécifiques aux I/O comme "Commons IO" de la fondation Apache.

Discussions similaires

  1. Outil de synchronisation de 2 répertoires en Java
    Par Dave Ridic dans le forum Général Java
    Réponses: 3
    Dernier message: 29/11/2008, 11h38
  2. [PB 9] Copier ou déplacer un répertoire
    Par stephanetk dans le forum Powerbuilder
    Réponses: 5
    Dernier message: 03/09/2008, 10h37
  3. filtrer les fichiers d'un répertoire en java
    Par leondebruxelles dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 21/03/2008, 15h19
  4. Déplacer un répertoire et son contenu
    Par choubiroute dans le forum Langage
    Réponses: 6
    Dernier message: 28/04/2006, 12h59
  5. [EasyPHP] Déplacer le répertoire WWWW
    Par Furius dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 10/10/2005, 21h36

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