写入文件原子
从 https://github.com/npm/write-file-atomics. 中国植物物种信息数据库 包括 https://github.com/npm/write-file-atomic/pul/25 互联网档案馆的存檔,存档日期2013-12-22,用于 使用时使用 阿富汗。 。 。 .
这是节点的扩展 fs.writeFile 能够运作
原子并允许您设定所有权( uid/ gid of the file) .
var 写入 FileAtomic = 需要 ('write- file- atomic')
写入 FileAtomic( 文件名、 数据、 [选项] 、 回调)
- 文件名 字符串
- 数据 字符串 | 缓冲
- 选项 对象
- 颜色 对象
- 用户 数目
- 给 数目
- 编码 字符串 | 无 默认 = “ utf8 ”
- fsync 语录 布尔 默认为正
- 模式 数目 默认 = 438(Octar为0666) 回调 函数
- 颜色 对象
以原子和同步方式将数据写入文件, 如果文件已经替换的话 已存在。 数据可以是字符串或缓冲.
文件最初命名为 filename + "." + murmurhex(__filename, process.pid, ++invocations)。 。 。 .
如果写入文件成功完成, 如果通过 颜色 选项将更改
文件的所有权。 最后它将文件重命名为您指定的文件名 。 若为
它在这些步骤中都会遇到错误,它会试图解锁临时文件,然后
将错误传递回呼叫者.
如果提供,则 颜色 选项 用户 财务报告和审定财务报表 给 属性或其他 你会得到一个错误.
这个 编码 如果 数据 是一个缓冲。 它默认为"utf8".
如果 fsync 语录 选项 虚假,写出File会跳过最后的fsync呼叫.
召回总是与初始(临时)文件名一起被引用.
示例
writeFileAtomic('message.txt', 'Hello Node', {chown:{uid:100,gid:50}}, function (err) {
if (err) throw err;
console.log('It\'s saved!');
});
var 写入 FileAtomicSync = 需要 ('write-file-atomic'). sync
写入 FileAtomicSync( 文件名、 数据、 [选项])
同步版本的 写入文件原子返回初始(临时)文件名.