J'utilise WinXP. J'utilise Java pour générer une liste de fichiers. Le fichier sera créé comme abc.txt.temp au début, et après avoir terminé la génération, il sera renommé en abc.txt. Toutefois, lors de la génération des fichiers, certains fichiers n'ont pas pu être renommés. Cela arrive au hasard.Comment savoir pourquoi renameTo() a échoué?
Y at-il de toute façon pour trouver la raison pour laquelle il a échoué?
int maxRetries = 60;
logger.debug("retry");
while (maxRetries-- > 0)
{
if (isSuccess = file.renameTo(file2))
{
break;
}
try
{
logger.debug("retry " + maxRetries);
Thread.sleep(1000);
}
catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//file.renameTo(file2);
Thread.currentThread().getThreadGroup().getParent().list();
Et le résultat:
[DEBUG][2009-08-25 08:57:52,386] - retry 1
[DEBUG][2009-08-25 08:57:53,386] - retry 0
java.lang.ThreadGroup[name=system,maxpri=10]
Thread[Reference Handler,10,system]
Thread[Finalizer,8,system]
Thread[Signal Dispatcher,9,system]
Thread[Attach Listener,5,system]
java.lang.ThreadGroup[name=main,maxpri=10]
Thread[main,5,main]
Thread[log4j mail appender,5,main]
[DEBUG][2009-08-25 08:57:54,386] - isSuccess:false
Je voudrais savoir une approche systématique pour comprendre la raison. Merci.
Attrapez-vous des exceptions lancées? – seth
no. aucune exception du tout. Cela ne renvoie que faux. – janetsmith
J'ai mis à jour ma réponse. –