filehandle.truncate()方法在Node.js的文件係統模塊中定義。文件係統模塊本質上是用於與用戶計算機的硬盤進行交互的。 truncate()方法用於通過‘len’字節修改文件的內部內容。如果len短於文件的當前長度,則文件將被截斷為len的長度;如果大於len,則通過添加空字節(x00)填充文件長度,直到達到len。
用法:
filehandle.truncate( len );
參數:此方法接受上述和以下描述的單個參數:
- len:它是一個數字值,它指定文件的長度,之後將截斷文件。這是一個可選參數,默認值為0,即,如果未提供len參數,則會截斷整個文件。
返回值:它返回一個promise,該promise將在成功時不帶任何參數地被解析,或者在出現問題時被錯誤對象拒絕(Ex-給定路徑是目錄的路徑或給定路徑不存在)。
範例1:此示例說明了在沒有給出文件將被截斷後的長度時如何截斷的工作。
// Importing File System and
// Utilities module
const fs = require('fs')
const truncateFile = async (path) => {
let filehandle = null
try {
filehandle = await fs.promises
.open(path, mode = 'r+')
// Append operation
await filehandle.truncate()
console.log('\nTruncate done, File"
+ " contents are deleted!\n')
} finally {
if (filehandle) {
// Close the file if it is opened.
await filehandle.close();
}
}
}
truncateFile('./testFile.txt')
.catch(err => {
console.log(`Error Occurs, Error code ->
${err.code}, Error NO -> ${err.errno}`)
})
運行程序之前的文件內容:
運行程序後的文件內容:
輸出:
Truncate done, File contents are deleted!
範例2:此示例說明了截斷文件後的長度時如何截斷工作。
// Importing File System and Utilities module
const fs = require('fs')
// fs.readFileSync(() method reads the file
// and returns buffer form of the data
const oldBuff = fs.readFileSync('./testFile.txt')
// File content after append
const oldContent = oldBuff.toString()
console.log(`\nContents before truncate:
\n${oldContent}`)
const truncateFile = async (path, len) => {
let filehandle = null
try {
filehandle = await fs.promises
.open(path, mode = 'r+')
// Append operation
await filehandle.truncate(len)
console.log('\nTruncate done!\n')
} finally {
if (filehandle) {
// Close the file if it is opened.
await filehandle.close();
}
}
const newBuff = fs.readFileSync(path)
//File content after truncate
const newContent = newBuff.toString()
console.log(`Contents after truncate:
\n${newContent}`)
}
truncateFile('./testFile.txt', 52)
.catch(err => {
console.log(`Error Occurs, Error code ->
${err.code}, Error NO -> ${err.errno}`)
})
輸出:
相關用法
- Node.js console.timeLog()用法及代碼示例
- Node.js GM motionBlur()用法及代碼示例
- Node.js GM operator()用法及代碼示例
- Node.js GM contrast()用法及代碼示例
- Node.js GM randomThreshold()用法及代碼示例
- Node.js GM recolor()用法及代碼示例
- Node.js GM implode()用法及代碼示例
- Node.js GM drawRectangle()用法及代碼示例
- Node.js GM lower()用法及代碼示例
- Node.js GM negative()用法及代碼示例
- Node.js GM despeckle()用法及代碼示例
- Node.js GM spread()用法及代碼示例
注:本文由純淨天空篩選整理自hunter__js大神的英文原創作品 Node.js filehandle.truncate() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。