📜  Node.js fs-extra outputFile()函数

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

Node.js fs-extra outputFile()函数

outputFile()函数将数据写入给定文件。它类似于 writeFile()函数,只是如果要写入数据的文件不存在,它将由函数本身创建。即使文件位于不存在的目录中,它也会由函数本身创建。

句法:

fs.outputFile(file,data,options,callback)

参数:此函数接受四个参数,如上所述和如下所述。

  • file:它是一个字符串,它定义了必须写入的文件的路径。
  • 数据:它将写入文件的字符串、缓冲区、TypedArray 或 DataView。
  • options:它是一个字符串或一个对象,用于指定可选参数。可用的选项有:
  • callback:函数完成任务后调用。这将导致错误或成功。 Promise 也可以用来代替回调函数。
  1. encoding:它是一个定义文件编码的字符串。默认情况下,该值为utf-8

  2. mode:它是一个整数值,定义了文件模式。默认情况下,该值为0o666

  3. flag:它是一个字符串值,用于定义写入文件时使用的标志。默认情况下,该值为'w' 。您可以在此处检查标志。

  4. 信号: AbortSignal 允许中止正在进行的输出文件。

返回值:它不返回任何东西。

按照以下步骤实现该函数:

  1. 可以使用以下命令安装该模块:

    npm install fs-extra
  2. 安装模块后,您可以使用以下命令检查已安装模块的版本:

    npm ls fs-extra

  3. 创建一个名为 index.js 的文件,并使用以下命令在文件中使用 fs-extra 模块

    const fs = require('fs-extra');
  4. 要运行该文件,请在终端中写入以下命令:

    node index.js

项目结构将如下所示:

示例 1:

index.js
// Requiring module
import  fs from "fs-extra";
  
// file already exist
// so data will be written
// onto the file
const file = "file.txt";
  
// This data will be
// written onto file
const data = "This is geeksforgeeks";
  
// Function call
// Using callback function
fs.outputFile(file, data, (err) => {
  if (err) return console.log(err);
  console.log("Data successfully written onto the file");
  console.log("Written data is: ");
  //   Reading data after writing on file
  console.log(fs.readFileSync(file, "utf-8"));
});


index.js
// Requiring module
import fs from "fs-extra";
  
// file and directory
//  does not  exist
// so both  will be created
// and data will be written
// onto the file
const file = "dir/file.txt";
  
// This data will be
// written onto file
const data = "This data will be written on file which doesn't exist";
  
// Additional options
const options = {
  encoding: "utf-8",
  flag: "w",
  mode: 0o666,
};
  
// Function call
// Using Promises
fs.outputFile(file, data, options)
  .then(() => {
    console.log("File Written successfully");
    console.log("Content of file: ");
    console.log(fs.readFileSync(file, "utf-8"));
  })
  .catch((e) => console.log(e));


输出:

示例 2:

index.js

// Requiring module
import fs from "fs-extra";
  
// file and directory
//  does not  exist
// so both  will be created
// and data will be written
// onto the file
const file = "dir/file.txt";
  
// This data will be
// written onto file
const data = "This data will be written on file which doesn't exist";
  
// Additional options
const options = {
  encoding: "utf-8",
  flag: "w",
  mode: 0o666,
};
  
// Function call
// Using Promises
fs.outputFile(file, data, options)
  .then(() => {
    console.log("File Written successfully");
    console.log("Content of file: ");
    console.log(fs.readFileSync(file, "utf-8"));
  })
  .catch((e) => console.log(e));

输出:

参考: https://github.com/jprichardson/node-fs-extra/blob/HEAD/docs/outputFile.md