Node.js fs.write

🌙
手机阅读
本文目录结构

Node.js

fs.write(fd, buffer[, offset[, length[, position]]], callback)

版本历史

版本 变更
v10.10.0 The buffer parameter can now be any TypedArray or a DataView
v10.0.0 The callback parameter is no longer optional. Not passing it will throw a TypeError at runtime.
v7.4.0 The buffer parameter can now be a Uint8Array.
v7.2.0 The offset and length parameters are optional now.
v7.0.0 The callback parameter is no longer optional. Not passing it will emit a deprecation warning with id DEP0013.
v0.0.2 新增于: v0.0.2
  • fd < integer>
  • buffer < Buffer> | |
  • offset < integer>
  • length < integer>
  • position < integer>
  • callback < Function>
    • err < Error>
    • bytesWritten < integer>
    • buffer < Buffer> | |

将 buffer 写入到 fd 指定的文件。

offset 决定要写入的部分 buffer, length 是一个整数,指定要写入的字节数。

position 指定应该写入此数据的文件的开始偏移量。 如果 typeof position !== ‘number’,则数据将写入当前位置。 参阅 pwrite(2)。

回调有三个参数 (err, bytesWritten, buffer),其中 bytesWritten 指定从 buffer 写入的字节数。

如果调用此方法的 util.promisify() 版本,则返回的 Promise 会返回具有 bytesWritten 和 buffer 属性的 Object。

在同一文件上多次使用 fs.write() 且不等待回调是不安全的。 对于这种情况,建议使用 fs.createWriteStream()。

在 Linux 上,当在追加模式下打开文件时,写入无法指定位置。 内核会忽略位置参数,并始终将数据追加到文件末尾。

fs.write(fd, string[, position[, encoding]], callback)

版本历史

版本 变更
v10.0.0 The callback parameter is no longer optional. Not passing it will throw a TypeError at runtime.
v7.2.0 The position parameter is optional now.
v7.0.0 The callback parameter is no longer optional. Not passing it will emit a deprecation warning with id DEP0013.
v0.11.5 新增于: v0.11.5
  • fd < integer>
  • string < string>
  • position < integer>
  • encoding < string> 默认值: ‘utf8’。
  • callback < Function>
    • err < Error>
    • written < integer>
    • string < string>

将 string 写入到 fd 指定的文件。 如果 string 不是字符串,则该值将被强制转换为字符串。

position 指定应该写入此数据的文件的开始偏移量。 如果 typeof position !== ‘number’,则数据将写入当前位置。 参阅 pwrite(2)。

encoding 是期望的字符串编码。

回调将接收参数 (err, written, string),其中 written 指定传入的字符串中需要被写入的字节数。 写入的字节数不一定与写入的字符串字符数相同。 参阅 Buffer.byteLength。

在同一文件上多次使用 fs.write() 且不等待回调是不安全的。 对于这种情况,建议使用 fs.createWriteStream()。

在 Linux 上,当在追加模式下打开文件时,写入无法指定位置。 内核会忽略位置参数,并始终将数据追加到文件末尾。


更多内容请参考:Node.js fs 文件系统,或者通过 点击对应菜单 进行查看;



AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

目前重心已经放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>