fs.atomic_write

fs.atomic_write

fs.atomic_write

功能

先把新内容写入目标同目录的临时文件并刷新到磁盘,再原子替换目标文件;可使用旧内容 SHA-256 检测外部修改,避免静默覆盖。

语法

参数

参数类型必填默认值有效范围说明
contentAny''可转换为文件内容的 BT 值要写入的新内容;数组和对象会写入 JSON 字符串。
expected_sha256String64 位十六进制文本目标现有内容的 SHA-256;传入后会在创建临时文件前和最终替换前各校验一次。

返回值

返回 Object。

字段类型是否总是存在默认值有效范围含义
bytesInt0 及以上新内容的字节数。
sha256String64 位小写十六进制文本新内容的 SHA-256。
previous_sha256String/emptyempty64 位小写十六进制文本或 empty替换前旧内容的 SHA-256;目标原先不存在时为 empty。

示例

注意事项

  • 目标父目录必须存在,目标不能是目录。
  • 临时文件和目标位于同一目录;只有临时内容完整写入并刷新后才替换目标。
  • 传入 expected_sha256 时,目标不存在、摘要不匹配或写入期间被外部修改都会报冲突,原内容不会被新内容静默覆盖。
  • Windows 使用带写穿透的原子替换;其它平台使用同文件系统重命名。