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.