当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js filehandle.appendFile()用法及代码示例


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}`) 
    })

运行程序之前的目录结构:

运行程序后的目录结构:

输出:




相关用法


注:本文由纯净天空筛选整理自hunter__js大神的英文原创作品 Node.js filehandle.appendFile() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。