Node.js fsPromises.writeFile() 方法
fsPromises.writeFile()方法用于将指定的数据异步写入文件。默认情况下,如果文件存在,将被替换。 'options' 参数可用于修改方法的功能。
成功后,Promise 将毫无争议地解决。
句法:
fsPromises.writeFile( file, data, options )
参数:此方法接受三个参数,如上所述,如下所述:
- 文件:它是一个字符串、缓冲区、URL 或文件描述整数,表示必须写入的文件的路径。使用文件描述符将使其行为类似于 fsPromises.write() 方法。
- 数据:它将被写入文件的字符串、缓冲区、TypedArray 或 DataView。
- options:它是一个字符串或对象,可用于指定将影响输出的可选参数。它有三个可选参数:
- encoding:它是一个字符串值,指定文件的编码。默认值为“utf8”。
- mode:它是一个整数值,指定文件模式。默认值为 0o666。
- flag:它是一个字符串值,指定写入文件时使用的标志。默认值为“w”。
返回值:此方法返回一个 Promise。
下面的示例说明了 Node.js 中的fsPromises.writeFile()方法:
示例 1:
// Node.js program to demonstrate the
// fsPromises.writeFile() method
// Import the filesystem module
const fs = require('fs');
const fsPromises = require('fs').promises;
let data = "This is a file containing"
+ " a collection of movies.";
(async function main() {
try {
await fsPromises.writeFile(
"movies.txt", data)
console.log("File written successfully");
console.log("The written file has"
+ " the following contents:");
console.log("" +
fs.readFileSync("./movies.txt"));
} catch (err) {
console.error(err);
}
})();
输出:
File written successfully
The written file has the following contents:
This is a file containing a collection of movies.
示例 2:
// Node.js program to demonstrate the
// fsPromises.writeFile() method
// Import the filesystem module
const fs = require('fs');
const fsPromises = require('fs').promises;
let data = "This is a file containing"
+ " a collection of books.";
(async function main() {
try {
await fsPromises.writeFile(
"books.txt", data, {
encoding: "utf8",
flag: "w",
mode: 0o666
});
console.log("File written successfully\n");
console.log("The written has the "
+ "following contents:");
console.log("" +
fs.readFileSync("books.txt"));
}
catch (err) {
console.error(err);
}
})();
输出:
File written successfully
The written has the following contents:
This is a file containing a collection of books.
参考: https://nodejs.org/api/fs.html#fs_fspromises_writefile_file_data_options