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

Langage Java Discussion :

Pb: copie du contenu d'un repertoire dans un autre


Sujet :

Langage Java

  1. #1
    En attente de confirmation mail
    Inscrit en
    Octobre 2006
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 130
    Points : 33
    Points
    33
    Par défaut Pb: copie du contenu d'un repertoire dans un autre
    salut,
    je voudrais faire la copie du contenu d'un repertoire dans un autre, cette tâche dois se faire à chaque fois un fichier est inséré dans ce repertoire.pour celà j'utilise l'utilitaire JavaExe que j'integre à mon application pour pouvoir l'executer en tant que service windows; et au niveau de mon application je dois tester à chaque instant la presence d'un fichier dans le repertoire source; voici mon code :

    public static void main(String[] args) {

    try
    {

    File f1=new File("d:\\source");
    f1.mkdir();

    //Lister les fichiers du repertoire source
    File[] liste= f1.listFiles();

    //Tant qu'il y a des fichiers dans le repertoire source
    while (liste.length >0) {

    for(int i=0;i<liste.length;i++)
    {
    File finput =new File("d:\\source\\"+liste[i].getName());
    File foutput =new File("d:\\destination\\"+liste[i].getName());

    FileInputStream fin = new FileInputStream(finput);
    FileOutputStream fout = new FileOutputStream(foutput);

    while (fin.available()>0) fout.write(fin.read());
    fin.close();
    fout.close();
    }

    // Vider le repertoire source
    for(int j=0;j<liste.length;j++) liste[j].delete();

    }

    }catch(IOException ioe){ioe.printStackTrace(); }
    }
    Le probleme c'est que mon programme boucle sans arrêt.

  2. #2
    Membre expert
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Points : 3 401
    Points
    3 401
    Par défaut
    Déjà, utilises la balise [code] (disponible avec le bouton # du formulaire d'édition de message) pour que ton code source soit lisible.

    Pour ce qui est de ton problème, cette ligne en est la responsable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while (liste.length >0) {
    Cette condition sera toujours vrai, car liste.length n'est jamais modifié. Cette boucle while est complètement inutile.

    Retire la et ça devrait fonctionner.

    Bonne chance.

  3. #3
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    je serais toi, je ferais un test pour ne pas copier le répertoire courant "." et le répertoire parent ".."

Discussions similaires

  1. copie du contenu d'un champs dans un autre
    Par fagio dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/04/2013, 08h08
  2. Copie du contenu d'un fichier dans un autre
    Par Invité dans le forum C#
    Réponses: 0
    Dernier message: 13/03/2013, 08h09
  3. copie du contenu d'un champs dans un autre
    Par Sinon dans le forum Langage SQL
    Réponses: 3
    Dernier message: 06/05/2010, 08h26
  4. Lister le contenu d'un repertoire dans un ListBox
    Par MonsieurK dans le forum Access
    Réponses: 5
    Dernier message: 13/07/2006, 11h18
  5. Réponses: 3
    Dernier message: 17/08/2005, 11h03

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