filehandle.appendFile()方法在Node.js的文件系统模块中定义。文件系统模块本质上是用于与用户计算机的硬盘进行交互的。 appendFile()方法用于在现有文件中异步追加新数据,或者如果该文件不存在,则首先创建该文件,然后将给定数据追加到该文件中。
用法:
filehandle.appendFile(data, options);
参数:此方法接受上面提到并在下面描述的两个参数:
- data:它是一个字符串或缓冲区,将附加到目标文件。
- options:这是一个可选参数,它会以某种方式影响输出,因此我们是否将其提供给函数调用。
- encoding:它指定了编码技术,默认值为“ UTF8”。
方法:fs.promises.open(path,mode)方法返回一个由filehandle对象解析的promise。首先,我们创建一个文件句柄对象,然后在此帮助下继续执行appendFile()方法。
在文件句柄上进行操作时,无法将模式更改为使用fs.promises.open()设置的模式,因此,请确保在调用fs.promises.open()方法时将‘a’或'a +'添加到该模式,否则appendFile()方法将起作用作为writeFile()方法。
范例1:本示例说明了如何将新数据附加到以前存在的文件中。
// Importing File System and Utilities module
const fs = require('fs')
// fs.readFileSync(() method reads the file
// and returns buffer form of the data
const oldBuffer = fs.readFileSync('./testFile.txt')
// File content before append
const oldContent = oldBuffer.toString()
console.log(`\nBefore Append:${oldContent}\n`)
const appendDataToFile = async (path, data) => {
let filehandle = null
try {
// Mode 'a' allows to append new data in file
filehandle = await fs.promises.open(path, mode = 'a')
// Append operation
await filehandle.appendFile(data)
} finally {
if (filehandle) {
// Close the file if it is opened.
await filehandle.close();
}
}
const newBuffer = fs.readFileSync('./testFile.txt')
// File content after append
const newContent = newBuffer.toString()
console.log(`After Append:${newContent}`)
}
appendDataToFile('./testFile.txt',
'\nHey, I am newly added..!!')
.catch(err => {
console.log(`Error Occurs, Error code ->
${err.code}, Error NO -> ${err.errno}`)
})
输出:
范例2:此示例说明了如何在运行时将数据附加到新创建的文件。
// Importing File System and Utilities module
const fs = require('fs')
const appendDataToFile = async (path, data) => {
let filehandle = null
try {
// Mode 'a' allows to append new data in file
filehandle = await fs.promises.open(path, mode = 'a')
// Append operation
await filehandle.appendFile(data)
} finally {
if (filehandle) {
// Close the file if it is opened.
await filehandle.close();
}
}
// fs.readFileSync(() method reads the file
// and returns buffer form of the data
const buff = fs.readFileSync('./testFile.txt')
// File content after append
const content = buff.toString()
console.log(`\nContent:${content}`)
}
appendDataToFile('./testFile.txt',
'\nPlease add me to the test file..!!')
.catch(err => {
console.log(`Error Occurs, Error code ->
${err.code}, Error NO -> ${err.errno}`)
})
运行程序之前的目录结构:
运行程序后的目录结构:
输出:
相关用法
- Node.js console.timeLog()用法及代码示例
- Node.js GM bordercolor()用法及代码示例
- Node.js GM flip()用法及代码示例
- Node.js GM thumbnail()用法及代码示例
- Node.js GM resize()用法及代码示例
- Node.js GM lower()用法及代码示例
- Node.js GM raise()用法及代码示例
- Node.js GM border()用法及代码示例
- Node.js GM scale()用法及代码示例
- Node.js GM sepia()用法及代码示例
- Node.js GM paint()用法及代码示例
- Node.js GM flop()用法及代码示例
- Node.js GM quality()用法及代码示例
- Node.js GM segment()用法及代码示例
注:本文由纯净天空筛选整理自hunter__js大神的英文原创作品 Node.js filehandle.appendFile() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。