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éplacement Fichier en unix avec JAVA


Sujet :

Entrée/Sortie Java

  1. #1
    Membre régulier
    Homme Profil pro
    Analyste Concepteur[Secteur Banque/assurance]/ Ingénieur d'état en informatique
    Inscrit en
    Août 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Analyste Concepteur[Secteur Banque/assurance]/ Ingénieur d'état en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 89
    Points : 96
    Points
    96
    Par défaut Déplacement Fichier en unix avec JAVA
    Bonjour tout le monde,

    j'ai un petit soucis concernant le déplacement d'un fichier sous unix avec java ,en fait lorsqu'un traitement se termine ,je dois déplacer le fichier traité vers un autre dossier .
    le nom du fichier est sous le format suivant: CPT_AGD_MVT_OUT_20160920 ;la dernière partie du nom du fichier qui changes à chaque fois ,et elle représente la date création du fichier.
    NB: dans le répertoire initial ,il y a toujours un seul fichier,mais avec une date à la fin qui change
    j'ai mis le code suivant,je ne sais pas si cela va marcher,parceque si je veux tester je dois déposer le :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    try {
     
     Runtime r = Runtime.getRuntime();
     p = r.exec("mv /bad/agdirect/data/CPT_AGD_MVT_OUT/CPT_AGD_MVT_OUT_*\\.* /bad/agdirect/data/CPT_AGD_MVT_OUT/save/");
     p.waitFor();
     
    }...
    Est ce que vous pouvez m'aider sur ce volet svp.

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 073
    Points : 7 978
    Points
    7 978
    Par défaut
    Pourquoi utiliser une commande système pour faire un simple move d'un fichier ?

    fera pareil en plus simple il me semble.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    File.renameTo() ou Files.move() (renameTo() ne permetra pas de déplacer entre 2 partitions, et ne gère pas les liens symboliques, comme Files.move() pourrait le faire)
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  4. #4
    Membre régulier
    Homme Profil pro
    Analyste Concepteur[Secteur Banque/assurance]/ Ingénieur d'état en informatique
    Inscrit en
    Août 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Analyste Concepteur[Secteur Banque/assurance]/ Ingénieur d'état en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 89
    Points : 96
    Points
    96
    Par défaut
    @wax78:
    Merci pour votre réponse,ouii j'ai deja essayé cette commande :,mais ça marche pas,je crois que c'est du au fait que la machine dont laquelle tourne le programme est :UNIX.
    @joel.drigo:
    Merci pour votre réponse,est ce que la commande : pourrait faire le déplacement du fichier ?
    Merci tout le monde .

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par karimoscapitated Voir le message
    File.renameTo(),mais ça marche pas,je crois que c'est du au fait que la machine dont laquelle tourne le programme est :UNIX.
    Je dirais que c'est justement parce que tu déplaces entre 2 partitions différentes (ou 2 disques différents), ce qui est souvent masqué par le système de fichiers UNIX, en particulier par le jeu des liens symboliques
    Citation Envoyé par karimoscapitated Voir le message
    Merci pour votre réponse,est ce que la commande : pourrait faire le déplacement du fichier ?
    Bah, c'est un peu fait pour ça. Regarde en particulier les options possibles (pas seulement StandardCopyOption, LinkOption aussi) en cas de problème.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #6
    Membre régulier
    Homme Profil pro
    Analyste Concepteur[Secteur Banque/assurance]/ Ingénieur d'état en informatique
    Inscrit en
    Août 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Analyste Concepteur[Secteur Banque/assurance]/ Ingénieur d'état en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 89
    Points : 96
    Points
    96
    Par défaut
    @joel.drigo: Merci pour cette clarification , je vais essayer avec cette commande et choisir les options convenables ,je vous tiendrai au courant bien sur du résultat .

    Merci encore

  7. #7
    Membre régulier
    Homme Profil pro
    Analyste Concepteur[Secteur Banque/assurance]/ Ingénieur d'état en informatique
    Inscrit en
    Août 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Analyste Concepteur[Secteur Banque/assurance]/ Ingénieur d'état en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 89
    Points : 96
    Points
    96
    Par défaut
    Bonjour,
    @joel.drigo:j'ai rencontré un petit soucis dans l'importation de la classe Path ,car le serveur unix dans lequel le programme tourne est sous java 6.
    Du coup j'arrive pas à importer cette classe .
    Est ce qu'il y a un autre moyen pour le déplacement du fichier vers le répertoire cible?

    Merci pour votre aide.
    Bonne journée.

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Faire l'implémentation toi-même dans ce cas, par copie (lecture du flux source et écriture dans le flux destination), puis suppression de la source. Par InputStream/OutputStream ou FileChannel. Voir la FAQ pour le détail de l'implémentation.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  9. #9
    Membre régulier
    Homme Profil pro
    Analyste Concepteur[Secteur Banque/assurance]/ Ingénieur d'état en informatique
    Inscrit en
    Août 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Analyste Concepteur[Secteur Banque/assurance]/ Ingénieur d'état en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 89
    Points : 96
    Points
    96
    Par défaut
    Bonjour @joel.drigo
    j'ai essayé la fonction RenameTo(),mais en fait elle arrive seulement faire une copie en changeant le nom du fichier traité.
    Est ce qu'il y a un moyen pour faire déplacer un fichier par exemple du dossier :/bad/agdirect/data/CPT_AGD_MVT_OUT à /bad/agdirect/data/CPT_AGD_MVT_OUT/save

    Merci de m'aviser sur ce point bloquant
    Have a nice day !

  10. #10
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par karimoscapitated Voir le message
    Bonjour @joel.drigo
    j'ai essayé la fonction RenameTo(),mais en fait elle arrive seulement faire une copie en changeant le nom du fichier traité.
    Est ce qu'il y a un moyen pour faire déplacer un fichier par exemple du dossier :/bad/agdirect/data/CPT_AGD_MVT_OUT à /bad/agdirect/data/CPT_AGD_MVT_OUT/save

    Merci de m'aviser sur ce point bloquant
    Have a nice day !
    La méthode renameTo() ne fait pas de copie : elle renomme justement. Mais on peut renommer comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    File file = new File("/bad/agdirect/data/CPT_AGD_MVT_OUT/truc.txt");
    File target = new File"/bad/agdirect/data/CPT_AGD_MVT_OUT/save/truc.txt");
    if ( file.renameTo(target) ) {
         file = target;
    }
    else {
         // renameTo ne peut pas fonctionner
         // alors il faut faire un transfert de byte (par les moyens indiqués dans les messages précédents)
    }
    Ce qui effectue un déplacement. Si le déplacement n'est pas effectué, il faut faire une copie par transfert des octets du fichier source vers un nouveau fichier destination, et supprimer le fichier source ensuite (voir messages précédents).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/11/2014, 01h33
  2. Format fichiers DOS/Unix avec CVS
    Par heygeo dans le forum Eclipse
    Réponses: 8
    Dernier message: 27/08/2009, 14h32
  3. Envoi mail sous Unix avec Java
    Par dimitris dans le forum Général Java
    Réponses: 6
    Dernier message: 15/03/2008, 22h57
  4. Lecture de fichier binaire fortran avec java
    Par bigbrother737 dans le forum Langage
    Réponses: 1
    Dernier message: 11/05/2007, 10h34
  5. Notification de modification de fichier sous unix en java
    Par deomis dans le forum Général Java
    Réponses: 6
    Dernier message: 20/06/2006, 14h43

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