2016-11-20 2 views
0

Если я звоню File.delete(), эффекты на базовой файловой системе сразу видны? Могу ли я написать одно имя файла в том же процессе/потоке, не беспокоясь о плохих вещах? Если нет, есть ли способ синхронизировать базовую файловую систему только с объектом File?Вызов delete() в объекте File, являются ли эффекты сразу видимыми?

ответ

0

File.delete() возвращает логическое сообщение, если файл был удален правильно.
Таким образом, вы могли бы написать что-то вроде:

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

Кроме того, прежде чем писать новый файл, вы можете проверить, если файл с таким именем уже существует.

Из 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

Я не уверен, если логическое значение означает, что файл больше не отображается в файловой системе или, если это может быть на самом деле быть удален позднее? –

+0

При возврате true файл уже удален. – HelloSadness

Смежные вопросы