在Guava 10+中,Google弃用了Files.deleteDirectoryContents()。 JavaDoc说
我对为什么有比赛条件感到困惑。我认为使用此方法实际上是有用的,并且发现将其炮轰给操作系统不是一个好的解决方案。作者可以分享做出这个决定的原因吗?
最佳答案
例如,假设一个线程调用Files.deleteDirectoryContents()
,第二个线程(或外部进程)同时在目录中创建一个新文件。
从调用返回时,可以依靠目录为空吗?不!
无论如何,如果您发现此方法的功能很有用……尽管存在缺陷,您仍可以自由获取代码副本,对其进行调整并将其嵌入到您的应用程序中。 (只需检查Guava源代码许可证,并确保您符合该许可证即可。)
我认为他们已经有;请参阅弃用通知。如果您想要更多,请尝试搜索问题跟踪器和Guava讨论组。您甚至可以尝试在讨论小组中礼貌地询问,尽管如果您的议程是改变主意,我怀疑您会成功。
关于java - 为什么在Guava中不推荐使用Files.deleteDirectoryContents()?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8320376/