📜  Node.js fsPromises.writeFile() 方法

📅  最后修改于: 2022-05-13 01:56:51.019000             🧑  作者: Mango

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