fs-extra 中的 outputFile() 函数 - NodeJS

异步简介 outputFile()

这种方法类似于写入'fs'的文件。唯一的区别是它将创建父目录(如果不存在)。传递的参数应该始终是文件路径,而不是缓冲区或文件描述符。

语法

outputFile(file, data[, options] [, callback])

参数

  • file – 包含文件名称和位置的字符串参数。

  • data – 数据可以包含要存储的字符串数据、缓冲区流或 Unit8 字符串数组。

  • 选项- 'outputFile' 函数支持以下选项 -

    • 编码- 默认'utf8'。

    • 模式- 默认 0o666

    • 信号- 允许中止正在进行的输出文件功能

  • callback - 如果发生任何错误,此函数将提供回调。

例子

  • 在继续之前检查 fs-extra 是否已安装;如果没有,请安装 fs-exra。

  • 您可以使用以下命令来检查是否安装了 fs-extra。

npm ls fs-extra

  • 创建asyncOutputFile.js并将以下代码片段复制粘贴到该文件中。

  • 现在,运行以下命令来运行以下代码片段。

node asyncOutputFile.js

代码片段-

const fs = require('fs-extra')

const file = '/tmp/not/exist/file.txt'

// 使用回调写入文件:
fs.outputFile(file, 'Welcome to nhooo.com!', err => {
   console.log(err) // => null

   fs.readFile(file, 'utf8', (err, data) => {
      if (err) return console.error(err)
      console.log(data) // => Welcome to nhooo.com!
   })
})

// 使用 Promise 写入文件:
fs.outputFile(file, 'Welcome to nhooo.com!')
.then(() => fs.readFile(file, 'utf8'))
.then(data => {
   console.log(data) // => Welcome to nhooo.com!
})
.catch(err => {
   console.error(err)
})

// 写入文件异步/等待:
async function asyncOutputFileExample (f) {
   try {
      await fs.outputFile(f, 'Welcome to nhooo.com!')
      const data = await fs.readFile(f, 'utf8')
      console.log(data) // => Welcome to nhooo.com!
   } catch (err) {
      console.error(err)
   }
}

asyncOutputFileExample(file)

输出

C:\Users\nhooo\> node asyncOutputFile.js
null
Welcome to nhooo.com!
Welcome to nhooo.com!
Welcome to nhooo.com!

简介 outputFileSync()

此方法与 'fs' 中的 writeFileSync 相同。唯一的区别是它将创建父目录(如果不存在)。传递的参数应该始终是文件路径,而不是缓冲区或文件描述符。

语法

outputFileSync(file, data[, options])

参数

  • file  – 这是一个字符串参数,用于保存文件的位置。

  • data  – 数据可以包含要存储的字符串数据、缓冲区流或 Unit8 字符串数组。

  • 选项 - 'outputFile' 函数支持以下选项 -

    • 编码 - 默认'utf8'。

    • 模式 - 默认 0o666

    • flag  – 文件操作的不同标志选项

例子

  • 在继续之前检查 fs-extra 是否已安装;如果没有,请安装 fs-exra。

  • 您可以使用以下命令来检查是否安装了 fs-extra。

npm ls fs-extra

  • 创建一个outputFileSyncExample.js并将以下代码片段复制粘贴到该文件中。

  • 现在,运行以下命令来运行以下代码片段。

node outputFileSyncExample.js

代码片段

const fs = require('fs-extra')

const file = '/tmp/this/path/does/not/exist/file.txt'
fs.outputFileSync(file, 'Welcome to nhooo.com!')

const data = fs.readFileSync(file, 'utf8')
console.log(data) // => Welcome to nhooo.com!

输出

C:\Users\nhooo\> node outputFileSyncExample.js
Welcome to nhooo.com!