Node.js fs-extra outputFile()函数
outputFile()函数将数据写入给定文件。它类似于 writeFile()函数,只是如果要写入数据的文件不存在,它将由函数本身创建。即使文件位于不存在的目录中,它也会由函数本身创建。
句法:
fs.outputFile(file,data,options,callback)
参数:此函数接受四个参数,如上所述和如下所述。
- file:它是一个字符串,它定义了必须写入的文件的路径。
- 数据:它将写入文件的字符串、缓冲区、TypedArray 或 DataView。
- options:它是一个字符串或一个对象,用于指定可选参数。可用的选项有:
- callback:函数完成任务后调用。这将导致错误或成功。 Promise 也可以用来代替回调函数。
encoding:它是一个定义文件编码的字符串。默认情况下,该值为utf-8 。
mode:它是一个整数值,定义了文件模式。默认情况下,该值为0o666 。
flag:它是一个字符串值,用于定义写入文件时使用的标志。默认情况下,该值为'w' 。您可以在此处检查标志。
信号: AbortSignal 允许中止正在进行的输出文件。
返回值:它不返回任何东西。
按照以下步骤实现该函数:
可以使用以下命令安装该模块:
npm install fs-extra
安装模块后,您可以使用以下命令检查已安装模块的版本:
npm ls fs-extra
创建一个名为 index.js 的文件,并使用以下命令在文件中使用 fs-extra 模块
const fs = require('fs-extra');
要运行该文件,请在终端中写入以下命令:
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