Jean-Philippe Pellet:
我有一个目录,其中包含提供给客户端的数据文件/srv/data
。虽然做了一系列的更新,我的工作/srv/data_tmp
,并在操作结束时,我想原子替换data
用data_tmp
。File.renameTo()
当目标是现有目录时,总是为我返回false。我怎样才能做到这一点?
马里诺p。
恐怕你做不到。至少不在SO级别。因此,即使您在Java应用程序的上下文中管理“原子性”,也无法保证在实际文件系统级别上会干扰其他“流氓”进程。
如果您是我,我会读这篇文章(虽然年代久远,但应该给您一些想法),然后看您是否可以将建议的方法移植到更现代的版本中。
哦,等等,有人做这个了!
显然你不是第一个问我在这里,无论是
祝你好运...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
编辑于
我来说两句