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