原子文件写操作(跨平台)

12 浏览
0 Comments

原子文件写操作(跨平台)

如何构建原子文件写操作?该文件由Java服务进行写入,由Python脚本进行读取。

记录一下,读取操作远远大于写入操作。但写入操作会批量进行且通常较长。文件大小达到几兆字节。

目前我的做法是:

  • 将文件内容写入相同目录下的临时文件
  • 删除旧文件
  • 将临时文件重命名为旧文件名。

这个方法正确吗?如何避免旧文件被删除但新文件名尚未重命名的情况?

这些编程语言(Python和Java)提供了锁定和避免这种情况的结构吗?

0