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 :

[Fichiers] Enregistrer/Déplacer dans un répertoire


Sujet :

Entrée/Sortie Java

  1. #1
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 93
    Points : 94
    Points
    94
    Par défaut [Fichiers] Enregistrer/Déplacer dans un répertoire
    Bijour tlm

    A chaque fois que je vais creer une image je voudrais qu'elle se place dans un nouveau repertoire, pour creer mon image je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ImageIO.write(image, "png", new File(outFileName));
    Comment puis-je faire ? j'ai essayé de mettre /images/ avant outfileName mais ça fait rien,

    Je cherche des commandes permettant de déplacer des fichiers et en meme temps creer un répertoire , ça m'arrangerait plus

    Thx

  2. #2
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    Bonjour,

    pour creer des répertoires, tu as mkdirs() dans la classe File.
    en + c'est automatique.

    bon courage

  3. #3
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut
    J'ai pas compris grand choses...

    Mais bon to dépalcer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File.renameTo(File dest);

  4. #4
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 93
    Points : 94
    Points
    94
    Par défaut
    ouais ça a l'air d'etre ça mais c'est quoi la synatxe exacte pour creer un dossier ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    File oldFile = new File("I00001.TIFF");
    oldFile.renameTo(new File("/images/I00001.TIFF"));
    marche pas ça

  5. #5
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    re,

    est-tu sûr que le fichier I00001.TIFF existe ?

    est-il placé dans le répertoire courant ?

    Fais un test avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    boolean existe = oldFile.exists();
    bon courage

  6. #6
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 93
    Points : 94
    Points
    94
    Par défaut
    Oui oui le bool renvoit true,

    Mais ma syntaxe est bonne là ???
    j'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    File oldFile = new File("I00001.TIFF");
    	oldFile.renameTo(new File("./images/I00001.TIFF"));
    et ça me met tjrs l'image a la racine d'eclipse

  7. #7
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    Et ton répertoire images, il existe ?

    (indique ton erreur).

    Si oui, je ne peux plus rien faire


    bon courage

  8. #8
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 93
    Points : 94
    Points
    94
    Par défaut
    Ben non il existe pas !
    justement je veux qu'a chaque traitement un nouveau repertoire (du nom d'un identifiant qui s'incremente) se crée avec l'image dedans

  9. #9
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 93
    Points : 94
    Points
    94
    Par défaut
    ok donc je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //cree le dossier	
    new File("images").mkdirs();
     
    File oldFile = new File("I00001.TIFF");
     
    oldFile.renameTo(new File("/images/I00001.TIFF"));
    ça crée le dossier mais ça déplace pas le fichier ds le doss ^^

  10. #10
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    Dans ce cas là,

    crée un fichier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File file = new File("./images/I00001.TIFF");
    Ensuite, il faut créer les répertoires. Comme I00001.TIFF n'est pas un répertoire, on récupère le répertoire parent de l'objet fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File parent = file.getParentFile();
    ensuite l'appel de cette méthode va créer les répertoires qui n'existent pas :

    Et maintenant y a plus qu'à.

    Bon courage

  11. #11
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut
    Je comprends pas pour tu fais ça en deux temps:

    - création du répertoire et du fichier

    - renommage du fichier,

    tu ne peux pas créer le fichier directement à l'emplacement voulu... 3 opérations au lieu d'une seule, tu es dûr ...

  12. #12
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    euh...

    J'ai une question. Je peux ?

    Est- ce que la méthode renameTo(File dest) crée des répertoires si ils n'existent pas ?

  13. #13
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 93
    Points : 94
    Points
    94
    Par défaut
    ton code me laisse l'image a la racine et crée un dossier image vide.

    En fait un traitement crée le fichier .TIFF puis là je oudrais le déplacer dans un dossier alléatoire

    /eclipse
    /image1/aaa.TIFF
    /image2/bbb.TIFF
    /....

  14. #14
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut
    Pourquoi tu fais pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    String source = "/images";
    int i=0;
    ...
    File file = new File(source + i + "/" + "I00001.TIFF");

  15. #15
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    re,

    C'est normal, après il faut déplacer le fichier

    avec renameTo.

    1. tu crées le répertoire.
    2. tu déplace ton fichier.

    A moins que renameTo() crée les répertoires inexistants.
    (j'essaie)

  16. #16
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut
    Citation Envoyé par yann2
    1. tu crées le répertoire.
    2. tu déplace ton fichier.
    Mais pour faire ça en deux temps ... pourquoi ne pas créer le fichier directement dans le répertoire concerné !!!

  17. #17
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    Parce que le répertoire n'existe pas !

    Il faut le créer.

    La méthode renameTo(File dest) ne crée pas les répertoires inexistants.

    Essaie.

  18. #18
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 93
    Points : 94
    Points
    94
    Par défaut
    lol on va dire que c'est un choix de prog.

    Je récapitule :

    J'ai un fichier AAA.TIFF dans le repertoire eclipse, je veux creer un dossier IMAGES/ puis "couper-coller" mon image dedans.

  19. #19
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    re .....................

    Ok, je reprends depuis le début.

    Disons que tu veux avoir un fichier comme ceci :
    ./images1/AAA.TIFF
    pour cela tu disposes de ./AAA.TIFF,

    mais tu n'as pas le répertoire images1.

    (j'ai bon là ?)

    tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    // fichier de départ
    File depart = new File("./AAA.TIFF");
    // fichier de destination
    File dest = new File("./images1/AAA.TIFF");
    // récupération des répertoires
    File parent = dest.getParentFile();  
    // création des répertoires qui n'existent pas
    parent.mkdirs();
    // déplacement du fichier
    depart.renameTo(dest);
    J'ai essayé ca marche.

    bon courage

  20. #20
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 93
    Points : 94
    Points
    94
    Par défaut
    nickel ça marche !!!
    c'est exactement ça !

    Merci bcp

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/03/2011, 17h47
  2. Réponses: 0
    Dernier message: 02/02/2009, 13h03
  3. Réponses: 3
    Dernier message: 30/05/2008, 10h39
  4. Réponses: 2
    Dernier message: 16/12/2006, 12h34

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