當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。