1

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.