📜  Node.js fs.filehandle.write() 方法(1)

📅  最后修改于: 2023-12-03 15:33:08.912000             🧑  作者: Mango

Node.js fs.filehandle.write() 方法

简介

Node.js fs.filehandle.write() 方法用于向文件中写入数据。该方法需要一个已经打开的文件句柄(File Handle)作为参数。

接着,我们将介绍 fs.filehandle.write() 方法的用法、语法和实例。

语法

fs.filehandle.write() 方法的语法如下所示:

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

其中,

  • buffer:要写入文件的数据,可为 Buffer 类型或 Uint8Array 类型;
  • offset:缓存区写入的写入偏移量,默认为 0;
  • length:要写入的字节数;
  • position:写入文件的起始位置,默认为当前文件指针的位置;
  • callback:写入成功后的回调函数。
返回值

该方法无返回值,数据通过回调函数返回。

实例

接下来我们看一下 fs.filehandle.write() 方法的具体实例代码。

实例 1:写入字符串数据

首先,我们需要打开文件,并获取到该文件的句柄:

const fs = require('fs');
fs.promises.open('./test.txt', 'w').then((filehandle) => {
  // 代码
});

接着,在该文件句柄上调用 fs.filehandle.write() 方法,写入数据:

const fs = require('fs');
fs.promises.open('./test.txt', 'w').then((filehandle) => {
  const data = 'Hello, world!\n';
  filehandle.write(data, (err) => {
    if (err) throw err;
    console.log('The data was written to file successfully!');
  });
});

在上面的代码中,我们首先定义了要写入的数据字符串,然后在回调函数中输出“数据已经成功写入文件!”。 注意,当写入数据时,如果该文件还没有被创建,则会创建该文件。

实例 2:写入二进制数据

fs.filehandle.write() 方法也可以用于写入二进制数据。下面是一个例子:

const fs = require('fs');
fs.promises.open('./test.txt', 'w').then((filehandle) => {
  const data = new Uint8Array([72, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33, 10]);
  filehandle.write(data, (err) => {
    if (err) throw err;
    console.log('The data was written to file successfully!');
  });
});

在上例中,我们首先定义了一个 Uint8Array,然后在回调函数中输出“数据已经成功写入文件!”。

总结

Node.js fs.filehandle.write() 方法可以用于向文件中写入数据。 该方法需要一个已经打开的文件句柄(File Handle)作为参数,并可写入字符串或二进制数据等多种类型的数据。 注意,当写入数据时,如果该文件还没有被创建,则会创建该文件。