Pb: copie du contenu d'un repertoire dans un autre
cs_kam81
Messages postés114Date d'inscriptiondimanche 25 septembre 2005StatutMembreDernière intervention11 février 2009
-
9 juin 2007 à 11:24
tlaloctzin
Messages postés136Date d'inscriptionmercredi 21 juin 2006StatutMembreDernière intervention12 septembre 2013
-
13 juin 2007 à 07:51
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) {
cs_Kysic
Messages postés332Date d'inscriptionmardi 12 juillet 2005StatutMembreDernière intervention17 juillet 2010 9 juin 2007 à 14:18
Salut,
je penses que le problème est que en faisant "liste[j].delete();" vous détruisez bien le fichier correspondant à "liste[j]", mais vous ne détruisez pas l'entrée correspondante dans le tableau "liste", la taille liste.length ne change pas (d'ailleurs elle ne change jamais).
Vous pouvez soit enlever la boucle "while (liste.length >0) {" dont je n'ai pas compris à quoi elle sert, soit faire un nouveau "liste= f1.listFiles();" à la fin de la boucle.
Voilà j'espère que c'était ça le problème.
cali70
Messages postés71Date d'inscriptionmercredi 29 septembre 2004StatutMembreDernière intervention19 mars 2008 9 juin 2007 à 16:37
rajouter un liste = f1.listFiles() à la fin ? oui pourquoi pas mais ca me semble faire beucoup de choses pour pas grand chose...
Pourquoi ne pas tout simplement faire liste = null ? et remplacer while (liste.length >0) par while (liste != null).
Je suis peu être à côté de la plaque mais ca me semble logique...