2016-11-20 2 views
0

Si j'appelle File.delete() les effets sur le système de fichiers sous-jacent sont-ils immédiatement visibles? Puis-je écrire sur le même nom de fichier dans le même processus/thread sans avoir à me soucier de mauvaises choses? Sinon, existe-t-il un moyen de synchroniser le système de fichiers sous-jacent avec juste un objet File? File.delete() renvoie un booléen vous indiquant si le fichier a été supprimé correctement.En appelant delete() sur un objet File, les effets sont-ils immédiatement visibles?

Répondre

0


Alors vous pourriez écrire quelque chose comme:

if(yourFile.delete()) { 
    //keep doing what you want. You are now sure file has been deleted ! 
} 

Aussi, avant d'écrire un nouveau fichier, vous pouvez vérifier si un fichier avec le même nom existe déjà.

De la documentation Oracle:

Returns: 
true if and only if the file or directory is successfully deleted; false otherwise 

Oracle source

Also there is a SO thread that might help you

+0

Je ne sais pas si le booléen signifie que le fichier ne soit plus visible dans le système de fichiers ou si elle peut être effectivement être supprimé à une date ultérieure? –

+0

Lorsque vous renvoyez true, le fichier est déjà supprimé. – HelloSadness